From 55a4d0ccd34b0b30e6f8406d4ccb5abb8cde6e67 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 17 Mar 2023 23:54:41 +0400 Subject: [PATCH 001/210] feat: AsyncAPI default values for @NotNull fields --- .../main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java | 10 +++++++--- .../main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java index 59d02084..f6c8aa89 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java @@ -13,6 +13,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -44,7 +45,8 @@ public class AsyncAPI extends ExtendableObject { * Patch versions will correspond to patches of this document. */ @NotNull - private String asyncapi = "2.0.0"; + @Builder.Default + private final String asyncapi = "2.0.0"; /** * Identifier of the application the AsyncAPI document is defining. @@ -74,7 +76,8 @@ public class AsyncAPI extends ExtendableObject { * Provides metadata about the API. The metadata can be used by the clients if needed. */ @NotNull - private Info info; + @Builder.Default + private Info info = new Info(); /** * Provides connection details of servers. @@ -92,7 +95,8 @@ public class AsyncAPI extends ExtendableObject { * Channels are also known as "topics", "routing keys", "event types" or "paths". */ @NotNull - private Map channels; + @Builder.Default + private Map channels = new HashMap<>(); /** * An element to hold various schemas for the specification. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java index 716b5338..a4b072cb 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java @@ -13,6 +13,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -44,7 +45,8 @@ public class AsyncAPI extends ExtendableObject { * Patch versions will correspond to patches of this document. */ @NotNull - private String asyncapi = "2.6.0"; + @Builder.Default + private final String asyncapi = "2.6.0"; /** * Identifier of the application the AsyncAPI document is defining. @@ -64,7 +66,8 @@ public class AsyncAPI extends ExtendableObject { * Provides metadata about the API. The metadata can be used by the clients if needed. */ @NotNull - private Info info; + @Builder.Default + private Info info = new Info(); /** * TODO: references @@ -93,7 +96,8 @@ public class AsyncAPI extends ExtendableObject { * Channels are also known as "topics", "routing keys", "event types" or "paths". */ @NotNull - private Map channels; + @Builder.Default + private Map channels = new HashMap<>(); /** * An element to hold various schemas for the specification. From bdf61f8edb6d9ba2e47caa6a72d0d37678528e2a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 17 Mar 2023 23:56:32 +0400 Subject: [PATCH 002/210] feat: Tag default values for @NotNull fields --- .../src/main/java/com/asyncapi/v2/_0_0/model/Tag.java | 3 ++- .../src/main/java/com/asyncapi/v2/_6_0/model/Tag.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Tag.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Tag.java index 7c22b4a1..536a3d2a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Tag.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Tag.java @@ -27,7 +27,8 @@ public class Tag extends ExtendableObject { * Required. The name of the tag. */ @NotNull - private String name; + @Builder.Default + private String name = ""; /** * A short description for the tag. CommonMark syntax can be used for rich text representation. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Tag.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Tag.java index 565aa50f..f441e6ab 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Tag.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Tag.java @@ -27,7 +27,8 @@ public class Tag extends ExtendableObject { * Required. The name of the tag. */ @NotNull - private String name; + @Builder.Default + private String name = ""; /** * A short description for the tag. CommonMark syntax can be used for rich text representation. From 23219b3e221bdedf4c7cc1841e95e3e0c912e41b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 17 Mar 2023 23:59:21 +0400 Subject: [PATCH 003/210] feat: Reference default values for @NotNull fields --- .../src/main/java/com/asyncapi/v2/_0_0/model/Reference.java | 2 +- .../src/main/java/com/asyncapi/v2/_6_0/model/Reference.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java index 3e417e76..81bbe22b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java @@ -33,6 +33,6 @@ public class Reference { */ @NotNull @JsonProperty(value = "$ref") - private String ref; + private String ref = ""; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java index c5ef3856..cc481a43 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java @@ -35,6 +35,6 @@ public class Reference { */ @NotNull @JsonProperty(value = "$ref") - private String ref; + private String ref = ""; } From be23dd013f2e50b316903928cce200d363697213 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 00:01:47 +0400 Subject: [PATCH 004/210] feat: ExternalDocumentation default values for @NotNull fields --- .../java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java | 3 ++- .../java/com/asyncapi/v2/_6_0/model/ExternalDocumentation.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java index 9d907ea7..2e8178a0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java @@ -35,6 +35,7 @@ public class ExternalDocumentation extends ExtendableObject { * The URL for the target documentation. Value MUST be in the format of a URL. */ @NotNull - private String url; + @Builder.Default + private String url = ""; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/ExternalDocumentation.java index 2d4e58ad..d9023f23 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/ExternalDocumentation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/ExternalDocumentation.java @@ -35,6 +35,7 @@ public class ExternalDocumentation extends ExtendableObject { * The URL for the target documentation. Value MUST be in the format of a URL. */ @NotNull - private String url; + @Builder.Default + private String url = ""; } From 59aa6a354b39743842052c18472771a4acc2d561 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 00:56:42 +0400 Subject: [PATCH 005/210] feat: Server default values for @NotNull fields --- .../main/java/com/asyncapi/v2/_0_0/model/server/Server.java | 6 ++++-- .../main/java/com/asyncapi/v2/_6_0/model/server/Server.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java index 36cedb5e..6d5914e4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java @@ -42,7 +42,8 @@ public class Server extends ExtendableObject { */ @NotNull @JsonProperty - private String url; + @Builder.Default + private String url = ""; /** * REQUIRED. @@ -52,7 +53,8 @@ public class Server extends ExtendableObject { */ @NotNull @JsonProperty - private String protocol; + @Builder.Default + private String protocol = ""; /** * The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java index cf9a6a4d..796eacf0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java @@ -42,7 +42,8 @@ public class Server extends ExtendableObject { * made when a variable is named in {brackets}. */ @NotNull - private String url; + @Builder.Default + private String url = ""; /** * REQUIRED. @@ -51,7 +52,8 @@ public class Server extends ExtendableObject { * amqp, amqps, http, https, ibmmq, jms, kafka, kafka-secure, anypointmq, mqtt, secure-mqtt, solace, stomp, stomps, ws, wss, mercure, googlepubsub, pulsar. */ @NotNull - private String protocol; + @Builder.Default + private String protocol = ""; /** * The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc. From 109fde7e649e04de4973b4377fbf36994a1b5db0 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 00:58:33 +0400 Subject: [PATCH 006/210] feat: Info default values for @NotNull fields --- .../src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java | 6 ++++-- .../src/main/java/com/asyncapi/v2/_6_0/model/info/Info.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java index 9bbe7ca3..c02f48b0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java @@ -31,7 +31,8 @@ public class Info extends ExtendableObject { */ @NotNull @JsonProperty - private String title; + @Builder.Default + private String title = ""; /** * Required. @@ -40,7 +41,8 @@ public class Info extends ExtendableObject { */ @NotNull @JsonProperty - private String version; + @Builder.Default + private String version = ""; /** * A short description of the application. CommonMark syntax can be used for rich text representation. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/Info.java index d82738ad..0d659fa6 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/Info.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/Info.java @@ -29,7 +29,8 @@ public class Info extends ExtendableObject { * The title of the application. */ @NotNull - private String title; + @Builder.Default + private String title = ""; /** * Required. @@ -37,7 +38,8 @@ public class Info extends ExtendableObject { * Provides the version of the application API (not to be confused with the specification version). */ @NotNull - private String version; + @Builder.Default + private String version = ""; /** * A short description of the application. CommonMark syntax can be used for rich text representation. From cd8426634ba4e6ff4ab8ceb69778714e451b042c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 00:59:50 +0400 Subject: [PATCH 007/210] feat: License default values for @NotNull fields --- .../src/main/java/com/asyncapi/v2/_0_0/model/info/License.java | 3 ++- .../src/main/java/com/asyncapi/v2/_6_0/model/info/License.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/License.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/License.java index 14780d5c..dfb6c6c4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/License.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/License.java @@ -27,7 +27,8 @@ public class License extends ExtendableObject { * Required. The license name used for the API. */ @NotNull - private String name; + @Builder.Default + private String name = ""; /** * A URL to the license used for the API. MUST be in the format of a URL. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/License.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/License.java index c5191c16..aa38568a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/License.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/info/License.java @@ -27,7 +27,8 @@ public class License extends ExtendableObject { * Required. The license name used for the API. */ @NotNull - private String name; + @Builder.Default + private String name = ""; /** * A URL to the license used for the API. MUST be in the format of a URL. From b336177e9726b7594e535340eef0fde5b894a580 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:01:55 +0400 Subject: [PATCH 008/210] feat: CorrelationId default values for @NotNull fields --- .../asyncapi/v2/_0_0/model/channel/message/CorrelationId.java | 3 ++- .../asyncapi/v2/_6_0/model/channel/message/CorrelationId.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java index 92aa9d96..fe540211 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java @@ -37,6 +37,7 @@ public class CorrelationId extends ExtendableObject { * A runtime expression that specifies the location of the correlation ID. */ @NotNull - private String location; + @Builder.Default + private String location = ""; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/CorrelationId.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/CorrelationId.java index 66bf407e..c88a7415 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/CorrelationId.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/CorrelationId.java @@ -37,6 +37,7 @@ public class CorrelationId extends ExtendableObject { * A runtime expression that specifies the location of the correlation ID. */ @NotNull - private String location; + @Builder.Default + private String location = ""; } From 8361eccdaeccdc7faf2e09af6bd3318d6f2c6fda Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:03:59 +0400 Subject: [PATCH 009/210] feat: OneOfMessages default values for @NotNull fields --- .../asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java index 816d1c0a..09f3afb7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java @@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; import org.jetbrains.annotations.NotNull; +import java.util.LinkedList; import java.util.List; /** @@ -30,7 +31,8 @@ public class OneOfMessages { * */ @NotNull + @Builder.Default @JsonDeserialize(using = MessagesDeserializer.class) - private List oneOf; + private List oneOf = new LinkedList<>(); } From 3976097775032109ac4f24ce12927d256a310ac9 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:08:08 +0400 Subject: [PATCH 010/210] feat: OpenIdConnectSecurityScheme default values for @NotNull fields --- .../v2/security_scheme/OpenIdConnectSecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java index 2d389ba0..bd00d329 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java @@ -25,7 +25,7 @@ public class OpenIdConnectSecurityScheme extends SecurityScheme { * OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL. */ @NotNull - private String openIdConnectUrl; + private String openIdConnectUrl = ""; @Builder(builderMethodName = "openIdConnectSecurityScheme") public OpenIdConnectSecurityScheme(@NotNull Type type, From 6a65fb43b0b9183966743b8f0ee3a8877379dda2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:11:54 +0400 Subject: [PATCH 011/210] feat: ApiKeySecurityScheme default values for @NotNull fields --- .../com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java index 2364f78e..2b66f8eb 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java @@ -26,7 +26,7 @@ public class ApiKeySecurityScheme extends SecurityScheme { * The location of the API key. */ @NotNull - private ApiKeyLocation in; + private ApiKeyLocation in = ApiKeyLocation.USER; @Builder(builderMethodName = "apiKeySecuritySchemeBuilder") public ApiKeySecurityScheme(@NotNull Type type, From 36aa94c526f8d647a1b0dd28748844e8a23c614e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:12:58 +0400 Subject: [PATCH 012/210] feat: SecurityScheme default values for @NotNull fields --- .../java/com/asyncapi/v2/security_scheme/SecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java index d316ffad..e81615bd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java @@ -80,7 +80,7 @@ public class SecurityScheme extends ExtendableObject { * */ @NotNull - private Type type; + private Type type = Type.USER_PASSWORD; /** * A short description for security scheme. CommonMark syntax MAY be used for rich text representation. From 9c76d4427450ac39465074d3c38920cd290103db Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:13:37 +0400 Subject: [PATCH 013/210] feat: OAuth2SecurityScheme default values for @NotNull fields --- .../v2/security_scheme/oauth2/OAuth2SecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java index e3543d35..a083bbc3 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java @@ -26,7 +26,7 @@ public class OAuth2SecurityScheme extends SecurityScheme { * An object containing configuration information for the flow types supported. */ @NotNull - private OAuthFlows flows; + private OAuthFlows flows = new OAuthFlows(); @Builder(builderMethodName = "oauth2SecuritySchemeBuilder") public OAuth2SecurityScheme(@NotNull Type type, From aba01dc3608e94bf5a0c6976696aee1c4017d162 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:14:14 +0400 Subject: [PATCH 014/210] feat: AuthorizationCodeOAuthFlow default values for @NotNull fields --- .../oauth2/flow/AuthorizationCodeOAuthFlow.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java index 686a0bce..7a6b3a83 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java @@ -29,7 +29,7 @@ public class AuthorizationCodeOAuthFlow extends OAuthFlow { * The authorization URL to be used for this flow. This MUST be in the form of an absolute URL. */ @NotNull - private String authorizationUrl; + private String authorizationUrl = ""; /** * REQUIRED. @@ -37,7 +37,7 @@ public class AuthorizationCodeOAuthFlow extends OAuthFlow { * The token URL to be used for this flow. This MUST be in the form of an absolute URL. */ @NotNull - private String tokenUrl; + private String tokenUrl = ""; @Builder(builderMethodName = "authorizationCodeOAuthFlowBuilder") public AuthorizationCodeOAuthFlow(@Nullable String refreshUrl, From d9af9b2bd0533f7393f1b02c39b371dfe3caed38 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:14:40 +0400 Subject: [PATCH 015/210] feat: ClientCredentialsOAuthFlow default values for @NotNull fields --- .../security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java index 749d9ca6..f039208f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java @@ -27,7 +27,7 @@ public class ClientCredentialsOAuthFlow extends OAuthFlow { * The token URL to be used for this flow. This MUST be in the form of a URL. */ @NotNull - private String tokenUrl; + private String tokenUrl = ""; @Builder(builderMethodName = "clientCredentialsOAuthFlowBuilder") public ClientCredentialsOAuthFlow(@Nullable String refreshUrl, From d32ee63a275fd0eca20d55cc1964656dad41d213 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:15:15 +0400 Subject: [PATCH 016/210] feat: ImplicitOAuthFlow default values for @NotNull fields --- .../v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java index 704117b4..bba7d2db 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java @@ -27,7 +27,7 @@ public class ImplicitOAuthFlow extends OAuthFlow { * The authorization URL to be used for this flow. This MUST be in the form of a URL */ @NotNull - private String authorizationUrl; + private String authorizationUrl = ""; @Builder(builderMethodName = "implicitOAuthFlowBuilder") public ImplicitOAuthFlow(@Nullable String refreshUrl, From 5c90b8276f96bc009b87e362792d051bed50774e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:16:04 +0400 Subject: [PATCH 017/210] feat: OAuthFlow default values for @NotNull fields --- .../asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java index 4fec68c3..e1f88ca5 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; import java.util.Map; /** @@ -31,7 +32,7 @@ public class OAuthFlow extends ExtendableObject { * The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL. */ @Nullable - private String refreshUrl; + private String refreshUrl = ""; /** * REQUIRED. @@ -39,6 +40,6 @@ public class OAuthFlow extends ExtendableObject { * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. */ @NotNull - private Map scopes; + private Map scopes = new HashMap<>(); } From 91a314255642138b0e960dc1ccea1e5669543804 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:16:42 +0400 Subject: [PATCH 018/210] feat: PasswordOAuthFlow default values for @NotNull fields --- .../v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java index 750ba2d3..4f0c5504 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java @@ -27,7 +27,7 @@ public class PasswordOAuthFlow extends OAuthFlow { * The token URL to be used for this flow. This MUST be in the form of a URL. */ @NotNull - private String tokenUrl; + private String tokenUrl = ""; @Builder(builderMethodName = "passwordOAuthFlowBuilder") public PasswordOAuthFlow(@Nullable String refreshUrl, From ae69a30d3aee4d0a4a4bbbc7d553687b89c1e9dd Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:17:06 +0400 Subject: [PATCH 019/210] feat: HttpApiKeySecurityScheme default values for @NotNull fields --- .../v2/security_scheme/http/HttpApiKeySecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java index 418098d7..ca570994 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java @@ -27,7 +27,7 @@ public class HttpApiKeySecurityScheme extends SecurityScheme { * The name of the header, query or cookie parameter to be used. */ @NotNull - private String name; + private String name = ""; /** * REQUIRED. From e597d48e0cebc4775bee1257f082ebf6639bcc15 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:17:28 +0400 Subject: [PATCH 020/210] feat: HttpSecurityScheme default values for @NotNull fields --- .../asyncapi/v2/security_scheme/http/HttpSecurityScheme.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java index 3a779403..ff0d767f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java @@ -26,7 +26,7 @@ public class HttpSecurityScheme extends SecurityScheme { * The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235. */ @NotNull - private String scheme; + private String scheme = ""; /** * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated From 8ce1d3a0bf934efd9dda07303ac35a33f52a28c2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:26:10 +0400 Subject: [PATCH 021/210] refactor: JavaDoc --- .../com/asyncapi/v2/_0_0/model/AsyncAPI.java | 18 +++++++++--------- .../v2/_0_0/model/ExternalDocumentation.java | 2 +- .../com/asyncapi/v2/_0_0/model/Reference.java | 6 +++--- .../v2/_0_0/model/channel/ChannelItem.java | 4 ++-- .../v2/_0_0/model/channel/Parameter.java | 2 +- .../model/channel/message/CorrelationId.java | 2 +- .../v2/_0_0/model/channel/message/Message.java | 10 +++++----- .../model/channel/message/MessageTrait.java | 4 ++-- .../model/channel/operation/Operation.java | 8 ++++---- .../channel/operation/OperationTrait.java | 2 +- .../v2/_0_0/model/component/Components.java | 8 ++++---- .../com/asyncapi/v2/_0_0/model/info/Info.java | 4 ++-- .../asyncapi/v2/_0_0/model/server/Server.java | 8 ++++---- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java index f6c8aa89..790ef520 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java @@ -34,12 +34,12 @@ public class AsyncAPI extends ExtendableObject { /** * Required. - * + *

* Specifies the AsyncAPI Specification version being used. * It can be used by tooling Specifications and clients to interpret the version. * The structure shall be major.minor.patch, where patch versions must be compatible * with the existing major.minor tooling. - * + *

* Typically patch versions will be introduced to address errors in the documentation, * and tooling should typically be compatible with the corresponding major.minor (1.0.*). * Patch versions will correspond to patches of this document. @@ -50,10 +50,10 @@ public class AsyncAPI extends ExtendableObject { /** * Identifier of the application the AsyncAPI document is defining. - * + *

* This field represents a unique universal identifier of the application the AsyncAPI document is defining. * It must conform to the URI format, according to RFC3986. - * + *

* It is RECOMMENDED to use a URN to globally and uniquely identify the application during long periods of time, * even after it becomes unavailable or ceases to exist. */ @@ -64,7 +64,7 @@ public class AsyncAPI extends ExtendableObject { * A string representing the default content type to use when encoding/decoding a message's payload. * The value MUST be a specific media type (e.g. application/json). * This value MUST be used by schema parsers when the contentType property is omitted. - * + *

* In case a message can't be encoded/decoded using this value, schema parsers MUST use their default content type. */ @Nullable @@ -72,7 +72,7 @@ public class AsyncAPI extends ExtendableObject { /** * Required. - * + *

* Provides metadata about the API. The metadata can be used by the clients if needed. */ @NotNull @@ -87,11 +87,11 @@ public class AsyncAPI extends ExtendableObject { /** * Required. - * + *

* The available channels and messages for the API. - * + *

* Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers. - * + *

* Channels are also known as "topics", "routing keys", "event types" or "paths". */ @NotNull diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java index 2e8178a0..271780a7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/ExternalDocumentation.java @@ -31,7 +31,7 @@ public class ExternalDocumentation extends ExtendableObject { /** * Required. - * + *

* The URL for the target documentation. Value MUST be in the format of a URL. */ @NotNull diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java index 81bbe22b..13208b65 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java @@ -8,12 +8,12 @@ /** * A simple object to allow referencing other components in the specification, internally and externally. - * + *

* The Reference Object is defined by JSON Reference and follows the same structure, behavior and rules. * A JSON Reference SHALL only be used to refer to a schema that is formatted in either JSON or YAML. * In the case of a YAML-formatted Schema, the JSON Reference SHALL be applied to the JSON representation of * that schema. The JSON representation SHALL be made by applying the conversion described here. - * + *

* For this specification, reference resolution is done as defined by the JSON Reference specification and not by * the JSON Schema specification. * @@ -28,7 +28,7 @@ public class Reference { /** * Required. - * + *

* The reference string. */ @NotNull diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java index 4aec38b0..470eb6ca 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java @@ -64,9 +64,9 @@ public class ChannelItem extends ExtendableObject { /** * A map of the parameters included in the channel name. * It SHOULD be present only when using channels with expressions (as defined by RFC 6570 section 2.2). - * + *

* This map MUST contain all the parameters used in the parent channel name. - * + *

* MUST BE: *

    *
  • {@link Reference}
  • diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/Parameter.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/Parameter.java index 09b07170..2b5e192f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/Parameter.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/Parameter.java @@ -40,7 +40,7 @@ public class Parameter extends ExtendableObject { /** * A runtime expression that specifies the location of the parameter value. - * + *

    * Even when a definition for the target field exists, it MUST NOT be used to validate this parameter but, * instead, the schema property MUST be used. */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java index fe540211..56f008a7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/CorrelationId.java @@ -33,7 +33,7 @@ public class CorrelationId extends ExtendableObject { /** * REQUIRED. - * + *

    * A runtime expression that specifies the location of the correlation ID. */ @NotNull diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java index 5a045617..da1a100f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java @@ -40,7 +40,7 @@ public class Message extends ExtendableObject { /** * Schema definition of the application headers. Schema MUST be of type "object". * It MUST NOT define the protocol headers. - * + *

    * MUST BE: *

      *
    • {@link Schema}
    • @@ -53,7 +53,7 @@ public class Message extends ExtendableObject { /** * Definition of the message payload. It can be of any type but defaults to Schema object. - * + *

      * WILL BE: *

        *
      • {@link Schema}
      • @@ -66,7 +66,7 @@ public class Message extends ExtendableObject { /** * Definition of the correlation ID used for message tracing or matching. - * + *

        * MUST BE: *

          * {@link CorrelationId} @@ -82,7 +82,7 @@ public class Message extends ExtendableObject { * A string containing the name of the schema format used to define the message payload. If omitted, * implementations should parse the payload as a Schema object. Check out the supported schema formats * table for more information. Custom values are allowed but their implementation is OPTIONAL. - * + *

          * A custom value MUST NOT refer to one of the schema formats listed in the table. */ @Nullable @@ -161,7 +161,7 @@ public class Message extends ExtendableObject { /** * A list of traits to apply to the message object. Traits MUST be merged into the message object using the JSON * Merge Patch algorithm in the same order they are defined here. The resulting object MUST be a valid Message - * + *

          * MUST BE: *

            *
          • {@link Reference}
          • diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java index 34f717a9..c012442e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java @@ -44,7 +44,7 @@ public class MessageTrait extends ExtendableObject { /** * Schema definition of the application headers. Schema MUST be of type "object". * It MUST NOT define the protocol headers. - * + *

            * MUST BE: *

              *
            • {@link Schema}
            • @@ -57,7 +57,7 @@ public class MessageTrait extends ExtendableObject { /** * Definition of the correlation ID used for message tracing or matching. - * + *

              * MUST BE: *

                *
              • {@link CorrelationId}
              • diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java index 118fc44d..e13932b0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java @@ -40,7 +40,7 @@ public class Operation extends ExtendableObject { /** * Unique string used to identify the operation. - * + *

                * The id MUST be unique among all operations described in the API. The operationId value is case-sensitive. * Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED * to follow common programming naming conventions. @@ -75,7 +75,7 @@ public class Operation extends ExtendableObject { /** * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions * for the operation. - * + *

                * Map describing protocol-specific definitions for an operation. */ @Nullable @@ -85,7 +85,7 @@ public class Operation extends ExtendableObject { /** * A list of traits to apply to the operation object. Traits MUST be merged into the operation object using the * JSON Merge Patch algorithm in the same order they are defined here. - * + *

                * MUST BE: *

                  *
                • {@link Reference}
                • @@ -99,7 +99,7 @@ public class Operation extends ExtendableObject { /** * A definition of the message that will be published or received on this channel. oneOf is allowed here to * specify multiple messages, however, a message MUST be valid only against one of the referenced message objects. - * + *

                  * MUST BE: *

                    *
                  • {@link Reference}
                  • diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/OperationTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/OperationTrait.java index 24f80145..d66d74e3 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/OperationTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/OperationTrait.java @@ -39,7 +39,7 @@ public class OperationTrait extends ExtendableObject { /** * Unique string used to identify the operation. - * + *

                    * The id MUST be unique among all operations described in the API. The operationId value is case-sensitive. * Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is RECOMMENDED * to follow common programming naming conventions. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java index 4c3f639c..75a9c3d9 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java @@ -49,7 +49,7 @@ public class Components extends ExtendableObject { /** * An object to hold reusable Schema Objects. - * + *

                    * MUST BE: *

                      *
                    • {@link Schema}
                    • @@ -62,7 +62,7 @@ public class Components extends ExtendableObject { /** * An object to hold reusable Message Objects. - * + *

                      * MUST BE: *

                        *
                      • {@link Message}
                      • @@ -75,7 +75,7 @@ public class Components extends ExtendableObject { /** * An object to hold reusable Security Scheme Objects. - * + *

                        * MUST BE: *

                          *
                        • {@link SecurityScheme}
                        • @@ -88,7 +88,7 @@ public class Components extends ExtendableObject { /** * An object to hold reusable Parameter Objects. - * + *

                          * MUST BE: *

                            *
                          • {@link Reference}
                          • diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java index c02f48b0..61a5a338 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/info/Info.java @@ -26,7 +26,7 @@ public class Info extends ExtendableObject { /** * Required. - * + *

                            * The title of the application. */ @NotNull @@ -36,7 +36,7 @@ public class Info extends ExtendableObject { /** * Required. - * + *

                            * Provides the version of the application API (not to be confused with the specification version). */ @NotNull diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java index 6d5914e4..4d707b5a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/server/Server.java @@ -35,7 +35,7 @@ public class Server extends ExtendableObject { /** * REQUIRED. - * + *

                            * A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host * location is relative to the location where the AsyncAPI document is being served. Variable substitutions will be * made when a variable is named in {brackets}. @@ -47,7 +47,7 @@ public class Server extends ExtendableObject { /** * REQUIRED. - * + *

                            * The protocol this URL supports for connection. Supported protocol include, but are not limited to: * amqp, amqps, http, https, jms, kafka, kafka-secure, mqtt, secure-mqtt, stomp, stomps, ws, wss. */ @@ -82,10 +82,10 @@ public class Server extends ExtendableObject { * A declaration of which security mechanisms can be used with this server. The list of values includes alternative * security requirement objects that can be used. Only one of the security requirement objects need to be satisfied * to authorize a connection or operation. - * + *

                            * Lists the required security schemes to execute this operation. The name used for each property MUST correspond * to a security scheme declared in the Security Schemes under the Components Object. - * + *

                            * When a list of Security Requirement Objects is defined on a Server object, only one of the Security Requirement * Objects in the list needs to be satisfied to authorize the connection. */ From b1fca9c86840770542df4f7a1d098d25caa0d18e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 01:29:33 +0400 Subject: [PATCH 022/210] chore: remove jackson-dataformat-yaml --- asyncapi-core/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/asyncapi-core/pom.xml b/asyncapi-core/pom.xml index bd67c4fb..f4036b1e 100644 --- a/asyncapi-core/pom.xml +++ b/asyncapi-core/pom.xml @@ -46,11 +46,6 @@ com.fasterxml.jackson.core jackson-databind - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - test - From 98de92f059de2f14ccf5ed3e2b87e09d160b62f6 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 14:14:28 +0400 Subject: [PATCH 023/210] feat: AsyncAPI.servers - reference or object --- .../java/com/asyncapi/v2/_6_0/model/AsyncAPI.java | 11 +++++++++-- .../kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt | 3 ++- .../json/2.6.0/model/asyncapi - extended.json | 3 +++ .../json/2.6.0/model/asyncapi - wrongly extended.json | 3 +++ .../src/test/resources/json/2.6.0/model/asyncapi.json | 3 +++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java index a4b072cb..4bba4d7a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java @@ -1,10 +1,12 @@ package com.asyncapi.v2._6_0.model; import com.asyncapi.v2.ExtendableObject; +import com.asyncapi.v2._6_0.jackson.model.server.ServersDeserializer; import com.asyncapi.v2._6_0.model.channel.ChannelItem; import com.asyncapi.v2._6_0.model.component.Components; import com.asyncapi.v2._6_0.model.info.Info; import com.asyncapi.v2._6_0.model.server.Server; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -70,11 +72,16 @@ public class AsyncAPI extends ExtendableObject { private Info info = new Info(); /** - * TODO: references * Provides connection details of servers. + * MUST BE: + *

                              + *
                            • {@link Server}
                            • + *
                            • {@link Reference}
                            • + *
                            */ @Nullable - private Map servers; + @JsonDeserialize(using = ServersDeserializer.class) + private Map servers; /** * A string representing the default content type to use when encoding/decoding a message's payload. diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt index 2275a578..89dafa8a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt @@ -25,7 +25,8 @@ class AsyncAPITest: SerDeTest() { "https://www.asyncapi.com", InfoTest().build(), mapOf( - Pair("stage", ServerTest().build()) + Pair("stage", ServerTest().build()), + Pair("stage-2", Reference("#/components/servers/stage-2")) ), "application/json", mapOf( diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 038d2e1c..251b940e 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -101,6 +101,9 @@ "stomp" : { }, "ws" : { } } + }, + "stage-2" : { + "$ref" : "#/components/servers/stage-2" } }, "defaultContentType" : "application/json", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json index 604f4d03..5eb97a1a 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json @@ -104,6 +104,9 @@ "stomp": {}, "ws": {} } + }, + "stage-2": { + "$ref": "#/components/servers/stage-2" } }, "channels": { diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json index 92acb539..85d2b7a4 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json @@ -104,6 +104,9 @@ "stomp": {}, "ws": {} } + }, + "stage-2": { + "$ref": "#/components/servers/stage-2" } }, "channels": { From 4be72e06fb00648e85ee20c1ffc2a30be09e0af4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:31:35 +0400 Subject: [PATCH 024/210] refactor: OpenIdConnectSecurityScheme builder --- .../v2/security_scheme/OpenIdConnectSecurityScheme.java | 7 +++---- .../v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java index bd00d329..e1e52549 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/OpenIdConnectSecurityScheme.java @@ -27,11 +27,10 @@ public class OpenIdConnectSecurityScheme extends SecurityScheme { @NotNull private String openIdConnectUrl = ""; - @Builder(builderMethodName = "openIdConnectSecurityScheme") - public OpenIdConnectSecurityScheme(@NotNull Type type, - @Nullable String description, + @Builder(builderMethodName = "openIdBuilder") + public OpenIdConnectSecurityScheme(@Nullable String description, @NotNull String openIdConnectUrl) { - super(type, description); + super(Type.OPENID_CONNECT, description); this.openIdConnectUrl = openIdConnectUrl; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt index c0f79c1f..97a08e96 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt @@ -16,8 +16,7 @@ class OpenIdConnectSecuritySchemeTest: SerDeTest() override fun wronglyExtendedObjectJson() = "/json/security_scheme/openIdConnect - wrongly extended.json" override fun build(): SecurityScheme { - return OpenIdConnectSecurityScheme.openIdConnectSecurityScheme() - .type(SecurityScheme.Type.OPENID_CONNECT) + return OpenIdConnectSecurityScheme.openIdBuilder() .description("openIdConnect") .openIdConnectUrl("https://server.com/.well-known/openid-configuration") .build() From 649c1b589799db3dd729d5e9e7c535e3f93c8243 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:33:10 +0400 Subject: [PATCH 025/210] refactor: ApiKeySecurityScheme builder --- .../com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java | 2 +- .../com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java index 2b66f8eb..3614d19d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java @@ -28,7 +28,7 @@ public class ApiKeySecurityScheme extends SecurityScheme { @NotNull private ApiKeyLocation in = ApiKeyLocation.USER; - @Builder(builderMethodName = "apiKeySecuritySchemeBuilder") + @Builder(builderMethodName = "apiKeyBuilder") public ApiKeySecurityScheme(@NotNull Type type, @Nullable String description, @NotNull ApiKeyLocation in) { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt index 93dab26d..63d6c582 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt @@ -16,7 +16,7 @@ class ApiKeySecuritySchemeTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/apiKey - wrongly extended.json" override fun build(): SecurityScheme { - return ApiKeySecurityScheme.apiKeySecuritySchemeBuilder() + return ApiKeySecurityScheme.apiKeyBuilder() .type(SecurityScheme.Type.API_KEY) .description("apiKey") .`in`(ApiKeySecurityScheme.ApiKeyLocation.USER) From 7f39e56ad9deffd7213007debfa71628ed969bfd Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:34:40 +0400 Subject: [PATCH 026/210] refactor: ApiKeySecurityScheme builder --- .../asyncapi/v2/security_scheme/ApiKeySecurityScheme.java | 5 ++--- .../asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java index 3614d19d..c5ed9225 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java @@ -29,10 +29,9 @@ public class ApiKeySecurityScheme extends SecurityScheme { private ApiKeyLocation in = ApiKeyLocation.USER; @Builder(builderMethodName = "apiKeyBuilder") - public ApiKeySecurityScheme(@NotNull Type type, - @Nullable String description, + public ApiKeySecurityScheme(@Nullable String description, @NotNull ApiKeyLocation in) { - super(type, description); + super(Type.API_KEY, description); this.in = in; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt index 63d6c582..fa6bdbeb 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt @@ -17,7 +17,6 @@ class ApiKeySecuritySchemeTest: SerDeTest() { override fun build(): SecurityScheme { return ApiKeySecurityScheme.apiKeyBuilder() - .type(SecurityScheme.Type.API_KEY) .description("apiKey") .`in`(ApiKeySecurityScheme.ApiKeyLocation.USER) .build() From 5415d872a142caa7ae529a091968aa1b78a4ecc6 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:43:38 +0400 Subject: [PATCH 027/210] refactor: HttpApiKeySecurityScheme builder --- .../v2/security_scheme/http/HttpApiKeySecurityScheme.java | 7 +++---- .../security_scheme/http/HttpApiKeySecuritySchemeTest.kt | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java index ca570994..9c67066c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java @@ -37,12 +37,11 @@ public class HttpApiKeySecurityScheme extends SecurityScheme { @Nullable private ApiKeyLocation in; - @Builder(builderMethodName = "httpApiKeySecuritySchemeBuilder") - public HttpApiKeySecurityScheme(@NotNull Type type, - @Nullable String description, + @Builder(builderMethodName = "httpApiKeyBuilder") + public HttpApiKeySecurityScheme(@Nullable String description, @NotNull String name, @Nullable ApiKeyLocation in) { - super(type, description); + super(Type.HTTP_API_KEY, description); this.name = name; this.in = in; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt index 2c8a96d6..6f81615d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt @@ -14,8 +14,7 @@ class HttpApiKeySecuritySchemeTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpApiKey - wrongly extended.json" override fun build(): HttpApiKeySecurityScheme { - return HttpApiKeySecurityScheme.httpApiKeySecuritySchemeBuilder() - .type(SecurityScheme.Type.HTTP_API_KEY) + return HttpApiKeySecurityScheme.httpApiKeyBuilder() .description("httpApiKey") .name("api_key") .`in`(HttpApiKeySecurityScheme.ApiKeyLocation.HEADER) From a07c7c5ad52bbffc915be0bc82246773dcb8a1db Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:44:55 +0400 Subject: [PATCH 028/210] refactor: HttpSecurityScheme builder --- .../v2/security_scheme/http/HttpSecurityScheme.java | 7 +++---- .../v2/security_scheme/http/HttpSecuritySchemeTest.kt | 6 ++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java index ff0d767f..090de0e4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java @@ -35,12 +35,11 @@ public class HttpSecurityScheme extends SecurityScheme { @Nullable private String bearerFormat; - @Builder(builderMethodName = "httpSecuritySchemeBuilder") - public HttpSecurityScheme(@NotNull Type type, - @Nullable String description, + @Builder(builderMethodName = "httpBuilder") + public HttpSecurityScheme(@Nullable String description, @NotNull String scheme, @Nullable String bearerFormat) { - super(type, description); + super(Type.HTTP, description); this.scheme = scheme; this.bearerFormat = bearerFormat; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt index d5be4858..2faa4645 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt @@ -14,8 +14,7 @@ class HttpSecuritySchemeBasicTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpBasic - wrongly extended.json" override fun build(): HttpSecurityScheme { - return HttpSecurityScheme.httpSecuritySchemeBuilder() - .type(SecurityScheme.Type.HTTP) + return HttpSecurityScheme.httpBuilder() .description("http") .scheme("basic") .build() @@ -34,8 +33,7 @@ class HttpSecuritySchemeBearerTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpBearer - wrongly extended.json" override fun build(): HttpSecurityScheme { - return HttpSecurityScheme.httpSecuritySchemeBuilder() - .type(SecurityScheme.Type.HTTP) + return HttpSecurityScheme.httpBuilder() .description("http") .scheme("bearer") .bearerFormat("JWT") From 26a279cb62515c1e385bc8d19dd54185cf5afa3b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:47:40 +0400 Subject: [PATCH 029/210] refactor: OAuth2SecurityScheme builder --- .../v2/security_scheme/oauth2/OAuth2SecurityScheme.java | 7 +++---- .../v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java index a083bbc3..8f34e318 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java @@ -28,11 +28,10 @@ public class OAuth2SecurityScheme extends SecurityScheme { @NotNull private OAuthFlows flows = new OAuthFlows(); - @Builder(builderMethodName = "oauth2SecuritySchemeBuilder") - public OAuth2SecurityScheme(@NotNull Type type, - @Nullable String description, + @Builder(builderMethodName = "oauth2Builder") + public OAuth2SecurityScheme(@Nullable String description, @NotNull OAuthFlows flows) { - super(type, description); + super(Type.OAUTH2, description); this.flows = flows; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt index ea34f746..92a572a1 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt @@ -17,8 +17,7 @@ class OAuth2SecuritySchemeTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/oauth2 - wrongly extended.json" override fun build(): SecurityScheme { - return OAuth2SecurityScheme.oauth2SecuritySchemeBuilder() - .type(SecurityScheme.Type.OAUTH2) + return OAuth2SecurityScheme.oauth2Builder() .description("oauth2") .flows(OAuthFlowTest().build()) .build() From 00b39672f298dd03018f37136cd710b117904385 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:49:07 +0400 Subject: [PATCH 030/210] refactor: AuthorizationCodeOAuthFlow builder --- .../security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java | 2 +- .../oauth2/flow/AuthorizationCodeOAuthFlowTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java index 7a6b3a83..34aeba7f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java @@ -39,7 +39,7 @@ public class AuthorizationCodeOAuthFlow extends OAuthFlow { @NotNull private String tokenUrl = ""; - @Builder(builderMethodName = "authorizationCodeOAuthFlowBuilder") + @Builder(builderMethodName = "authorizationCodeBuilder") public AuthorizationCodeOAuthFlow(@Nullable String refreshUrl, @NotNull Map scopes, @NotNull String authorizationUrl, diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt index 9d5a2fad..ba33e07f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt @@ -13,7 +13,7 @@ class AuthorizationCodeOAuthFlowTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json" override fun build(): AuthorizationCodeOAuthFlow { - return AuthorizationCodeOAuthFlow.authorizationCodeOAuthFlowBuilder() + return AuthorizationCodeOAuthFlow.authorizationCodeBuilder() .authorizationUrl("https://example.com/api/oauth/dialog") .tokenUrl("https://example.com/api/oauth/token") .refreshUrl("https://example.com/api/oauth/refresh") From 888806211a0c9e4256de0af4244f65f82615f232 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:50:09 +0400 Subject: [PATCH 031/210] refactor: ClientCredentialsOAuthFlow builder --- .../security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java | 2 +- .../oauth2/flow/ClientCredentialsOAuthFlowTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java index f039208f..15e05e07 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java @@ -29,7 +29,7 @@ public class ClientCredentialsOAuthFlow extends OAuthFlow { @NotNull private String tokenUrl = ""; - @Builder(builderMethodName = "clientCredentialsOAuthFlowBuilder") + @Builder(builderMethodName = "clientCredentialsBuilder") public ClientCredentialsOAuthFlow(@Nullable String refreshUrl, @NotNull Map scopes, @NotNull String tokenUrl) { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt index d46d3705..68664468 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt @@ -13,7 +13,7 @@ class ClientCredentialsOAuthFlowTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json" override fun build(): ClientCredentialsOAuthFlow { - return ClientCredentialsOAuthFlow.clientCredentialsOAuthFlowBuilder() + return ClientCredentialsOAuthFlow.clientCredentialsBuilder() .tokenUrl("https://example.com/api/oauth/token") .refreshUrl("https://example.com/api/oauth/refresh") .scopes(mapOf( From 51ca2cdb43e0ca842c2d3af27a84db5af9b97902 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:51:03 +0400 Subject: [PATCH 032/210] refactor: ImplicitOAuthFlow builder --- .../v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java | 2 +- .../v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java index bba7d2db..6518da51 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlow.java @@ -29,7 +29,7 @@ public class ImplicitOAuthFlow extends OAuthFlow { @NotNull private String authorizationUrl = ""; - @Builder(builderMethodName = "implicitOAuthFlowBuilder") + @Builder(builderMethodName = "implicitBuilder") public ImplicitOAuthFlow(@Nullable String refreshUrl, @NotNull Map scopes, @NotNull String authorizationUrl) { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt index 7ed56936..a63a4b9a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt @@ -13,7 +13,7 @@ class ImplicitOAuthFlowTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json" override fun build(): ImplicitOAuthFlow { - return ImplicitOAuthFlow.implicitOAuthFlowBuilder() + return ImplicitOAuthFlow.implicitBuilder() .authorizationUrl("https://example.com/api/oauth/dialog") .refreshUrl("https://example.com/api/oauth/refresh") .scopes(mapOf( From 7c4ab24a6bab5f49d90ef2b934be424c713fbd55 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 18:52:19 +0400 Subject: [PATCH 033/210] refactor: PasswordOAuthFlow builder --- .../v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java | 2 +- .../v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java index 4f0c5504..693d219c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlow.java @@ -29,7 +29,7 @@ public class PasswordOAuthFlow extends OAuthFlow { @NotNull private String tokenUrl = ""; - @Builder(builderMethodName = "passwordOAuthFlowBuilder") + @Builder(builderMethodName = "passwordBuilder") public PasswordOAuthFlow(@Nullable String refreshUrl, @NotNull Map scopes, @NotNull String tokenUrl) { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt index 5ab630b6..6fee6747 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt @@ -13,7 +13,7 @@ class PasswordOAuthFlowTest: SerDeTest() { override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json" override fun build(): PasswordOAuthFlow { - return PasswordOAuthFlow.passwordOAuthFlowBuilder() + return PasswordOAuthFlow.passwordBuilder() .tokenUrl("https://example.com/api/oauth/token") .refreshUrl("https://example.com/api/oauth/refresh") .scopes(mapOf( From 350a84b5bfcb3a9d41149c8f576e252b21f6ed52 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 20:18:26 +0400 Subject: [PATCH 034/210] refactor: @EqualsAndHashCode(callSuper = true) --- .../com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java | 2 +- .../v2/security_scheme/http/HttpApiKeySecurityScheme.java | 2 +- .../asyncapi/v2/security_scheme/http/HttpSecurityScheme.java | 2 +- .../v2/security_scheme/oauth2/OAuth2SecurityScheme.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java index c5ed9225..f9dd75d4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/ApiKeySecurityScheme.java @@ -17,7 +17,7 @@ @Data @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode(callSuper = false) +@EqualsAndHashCode(callSuper = true) public class ApiKeySecurityScheme extends SecurityScheme { /** diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java index 9c67066c..13786bae 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpApiKeySecurityScheme.java @@ -18,7 +18,7 @@ @Data @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode(callSuper = false) +@EqualsAndHashCode(callSuper = true) public class HttpApiKeySecurityScheme extends SecurityScheme { /** diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java index 090de0e4..63b77d0a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/http/HttpSecurityScheme.java @@ -17,7 +17,7 @@ @Data @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode(callSuper = false) +@EqualsAndHashCode(callSuper = true) public class HttpSecurityScheme extends SecurityScheme { /** diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java index 8f34e318..7bb2b660 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecurityScheme.java @@ -17,7 +17,7 @@ @Data @NoArgsConstructor @AllArgsConstructor -@EqualsAndHashCode(callSuper = false) +@EqualsAndHashCode(callSuper = true) public class OAuth2SecurityScheme extends SecurityScheme { /** From 56832d1fba6b52a7715b22f0a68bdf1093b8caa5 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 23:46:01 +0400 Subject: [PATCH 035/210] refactor: AMQPChannelBinding - Validation API annotations - Jackson annotations - Properties extracted to own classes --- asyncapi-core/pom.xml | 5 + .../channel/amqp/AMQPChannelBinding.java | 106 ++++-------------- .../binding/channel/amqp/AMQPChannelType.java | 24 ++++ .../AMQPChannelExchangeProperties.java | 75 +++++++++++++ .../exchange/AMQPChannelExchangeType.java | 33 ++++++ .../queue/AMQPChannelQueueProperties.java | 75 +++++++++++++ .../channel/amqp/AMQPChannelBindingTest.kt | 11 +- 7 files changed, 240 insertions(+), 89 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/queue/AMQPChannelQueueProperties.java diff --git a/asyncapi-core/pom.xml b/asyncapi-core/pom.xml index f4036b1e..4e1edb20 100644 --- a/asyncapi-core/pom.xml +++ b/asyncapi-core/pom.xml @@ -46,6 +46,11 @@ com.fasterxml.jackson.core jackson-databind + + javax.validation + validation-api + 2.0.1.Final + diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java index 8616e337..37ba135b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java @@ -1,11 +1,17 @@ package com.asyncapi.v2.binding.channel.amqp; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.asyncapi.v2.binding.channel.amqp.exchange.AMQPChannelExchangeProperties; +import com.asyncapi.v2.binding.channel.amqp.queue.AMQPChannelQueueProperties; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -22,108 +28,38 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 channel binding.") public class AMQPChannelBinding extends ChannelBinding { /** * Defines what type of channel is it. Can be either queue or routingKey (default). */ - @Nullable - private String is; + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "is", required = true, defaultValue = "routingKey") + @JsonPropertyDescription("Defines what type of channel is it. Can be either queue or routingKey (default).") + private AMQPChannelType is = AMQPChannelType.ROUTING_KEY; /** * When is=routingKey, this object defines the exchange properties. */ @Nullable - private ExchangeProperties exchange; + @JsonProperty("exchange") + @JsonPropertyDescription("When is=routingKey, this object defines the exchange properties.") + private AMQPChannelExchangeProperties exchange; /** * When is=queue, this object defines the queue properties. */ @Nullable - private QueueProperties queue; + @JsonProperty("queue") + @JsonPropertyDescription("When is=queue, this object defines the queue properties.") + private AMQPChannelQueueProperties queue; @Nullable @Builder.Default - private String bindingVersion = "0.2.0"; - - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class ExchangeProperties { - - /** - * The name of the exchange. It MUST NOT exceed 255 characters long. - */ - @Nullable - private String name; - - /** - * The type of the exchange. Can be either topic, direct, fanout, default or headers. - */ - @Nullable - private String type; - - /** - * Whether the exchange should survive broker restarts or not. - */ - @Nullable - private Boolean durable; - - /** - * Whether the exchange should be deleted when the last queue is unbound from it. - */ - @Nullable - private Boolean autoDelete; - - /** - * The virtual host of the exchange. Defaults to /. - */ - @Nullable - @Builder.Default - private String vhost = "/"; - - } - - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class QueueProperties { - - /** - * The name of the queue. It MUST NOT exceed 255 characters long. - */ - @Nullable - private String name; - - /** - * Whether the queue should survive broker restarts or not. - */ - @Nullable - private Boolean durable; - - /** - * Whether the queue should be used only by one connection or not. - */ - @Nullable - private Boolean exclusive; - - /** - * Whether the queue should be deleted when the last consumer unsubscribes. - */ - @Nullable - private Boolean autoDelete; - - /** - * The virtual host of the queue. Defaults to /. - */ - @Nullable - @Builder.Default - private String vhost = "/"; - - } + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private final String bindingVersion = "0.2.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelType.java new file mode 100644 index 00000000..82d13019 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelType.java @@ -0,0 +1,24 @@ +package com.asyncapi.v2.binding.channel.amqp; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes AMQP 0-9-1 channel type. + *

                            + * Contains information about the type of channel in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +public enum AMQPChannelType { + + @JsonProperty("queue") + QUEUE, + + @JsonProperty("routingKey") + @JsonAlias("routingKey") + ROUTING_KEY + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java new file mode 100644 index 00000000..6b07844d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java @@ -0,0 +1,75 @@ +package com.asyncapi.v2.binding.channel.amqp.exchange; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 channel exchange properties. + *

                            + * Contains information about the channel exchange properties in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes AMQP 0-9-1 channel exchange properties.") +public class AMQPChannelExchangeProperties { + + /** + * The name of the exchange. It MUST NOT exceed 255 characters long. + */ + @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Exchange name must not exceed 255 characters long." + ) + @JsonProperty("name") + @JsonPropertyDescription("The name of the exchange. It MUST NOT exceed 255 characters long.") + private String name; + + /** + * The type of the exchange. Can be either topic, direct, fanout, default or headers. + */ + @Nullable + @JsonProperty("type") + @JsonPropertyDescription("The type of the exchange. Can be either topic, direct, fanout, default or headers.") + private AMQPChannelExchangeType type; + + /** + * Whether the exchange should survive broker restarts or not. + */ + @Nullable + @JsonProperty("durable") + @JsonPropertyDescription("Whether the exchange should survive broker restarts or not.") + private Boolean durable; + + /** + * Whether the exchange should be deleted when the last queue is unbound from it. + */ + @Nullable + @JsonProperty("autoDelete") + @JsonPropertyDescription("Whether the exchange should be deleted when the last queue is unbound from it.") + private Boolean autoDelete; + + /** + * The virtual host of the exchange. Defaults to /. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "vhost", defaultValue = "/") + @JsonPropertyDescription("The virtual host of the exchange. Defaults to /.") + private String vhost = "/"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeType.java new file mode 100644 index 00000000..373cff20 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/exchange/AMQPChannelExchangeType.java @@ -0,0 +1,33 @@ +package com.asyncapi.v2.binding.channel.amqp.exchange; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes AMQP 0-9-1 channel exchange type. + *

                            + * Contains information about the channel exchange type in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes AMQP 0-9-1 channel exchange type.") +public enum AMQPChannelExchangeType { + + @JsonProperty("topic") + TOPIC, + + @JsonProperty("direct") + DIRECT, + + @JsonProperty("fanout") + FANOUT, + + @JsonProperty("default") + DEFAULT, + + @JsonProperty("headers") + HEADERS + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/queue/AMQPChannelQueueProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/queue/AMQPChannelQueueProperties.java new file mode 100644 index 00000000..f3a1e09c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/queue/AMQPChannelQueueProperties.java @@ -0,0 +1,75 @@ +package com.asyncapi.v2.binding.channel.amqp.queue; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 channel queue properties. + *

                            + * Contains information about the queue exchange properties in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes AMQP 0-9-1 channel queue properties.") +public class AMQPChannelQueueProperties { + + /** + * The name of the queue. It MUST NOT exceed 255 characters long. + */ + @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Queue name must not exceed 255 characters long." + ) + @JsonProperty("name") + @JsonPropertyDescription("The name of the queue. It MUST NOT exceed 255 characters long.") + private String name; + + /** + * Whether the queue should survive broker restarts or not. + */ + @Nullable + @JsonProperty("durable") + @JsonPropertyDescription("Whether the queue should survive broker restarts or not.") + private Boolean durable; + + /** + * Whether the queue should be used only by one connection or not. + */ + @Nullable + @JsonProperty("exclusive") + @JsonPropertyDescription("Whether the queue should be used only by one connection or not.") + private Boolean exclusive; + + /** + * Whether the queue should be deleted when the last consumer unsubscribes. + */ + @Nullable + @JsonProperty("autoDelete") + @JsonPropertyDescription("Whether the queue should be deleted when the last consumer unsubscribes.") + private Boolean autoDelete; + + /** + * The virtual host of the queue. Defaults to /. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "vhost", defaultValue = "/") + @JsonPropertyDescription("The virtual host of the queue. Defaults to /.") + private String vhost = "/"; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt index 17234a48..f89a520a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.channel.amqp import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.binding.channel.amqp.exchange.AMQPChannelExchangeProperties +import com.asyncapi.v2.binding.channel.amqp.exchange.AMQPChannelExchangeType +import com.asyncapi.v2.binding.channel.amqp.queue.AMQPChannelQueueProperties /** * @version 2.6.0 @@ -18,17 +21,17 @@ class AMQPChannelBindingTest: SerDeTest() { override fun build(): AMQPChannelBinding { return AMQPChannelBinding.builder() - .`is`("routingKey") - .queue(AMQPChannelBinding.QueueProperties.builder() + .`is`(AMQPChannelType.ROUTING_KEY) + .queue(AMQPChannelQueueProperties.builder() .name("my-queue-name") .durable(true) .exclusive(true) .autoDelete(false) .build() ) - .exchange(AMQPChannelBinding.ExchangeProperties.builder() + .exchange(AMQPChannelExchangeProperties.builder() .name("myExchange") - .type("topic") + .type(AMQPChannelExchangeType.TOPIC) .durable(true) .autoDelete(false) .build() From 60ebea8e630d02a59cb719ff6da5cb9c2640bb99 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 18 Mar 2023 23:50:09 +0400 Subject: [PATCH 036/210] refactor: AMQPMessageBinding - Jackson annotations --- .../v2/binding/message/amqp/AMQPMessageBinding.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/amqp/AMQPMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/amqp/AMQPMessageBinding.java index 73d05041..d2281e2b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/amqp/AMQPMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/amqp/AMQPMessageBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.message.amqp; import com.asyncapi.v2.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,18 +25,23 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 message binding.") public class AMQPMessageBinding extends MessageBinding { /** * A MIME encoding for the message content. */ @Nullable + @JsonProperty("contentEncoding") + @JsonPropertyDescription("A MIME encoding for the message content.") private String contentEncoding; /** * Application-specific message type. */ @Nullable + @JsonProperty("messageType") + @JsonPropertyDescription("Application-specific message type.") private String messageType; /** @@ -41,6 +49,8 @@ public class AMQPMessageBinding extends MessageBinding { */ @Nullable @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.2.0"; } From a75e5b1d378e7604277bf6c5644af19c3f26d2ab Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 00:06:02 +0400 Subject: [PATCH 037/210] refactor: AMQPOperationBinding - Validation API annotations - Jackson annotations - JavaDoc changes --- .../operation/amqp/AMQPOperationBinding.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBinding.java index 750ad728..034337ae 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.amqp; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,12 +27,21 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 operation binding.") public class AMQPOperationBinding extends OperationBinding { /** * TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero. + *

                            + * Applies to: publish, subscribe */ @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "TTL (Time-To-Live) for the message must be greater than or equal to zero" + ) + @JsonProperty("expiration") + @JsonPropertyDescription("TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero.") private Integer expiration; /** @@ -38,6 +50,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("userId") + @JsonPropertyDescription("Identifies the user who has sent the message.") private String userId; /** @@ -46,6 +60,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("cc") + @JsonPropertyDescription("The routing keys the message should be routed to at the time of publishing.") private List cc; /** @@ -54,6 +70,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("priority") + @JsonPropertyDescription("A priority for the message.") private Integer priority; /** @@ -62,6 +80,16 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Delivery mode of the message must be either 1 (transient) or 2 (persistent)" + ) + @javax.validation.constraints.Max( + value = 2, + message = "Delivery mode of the message must be either 1 (transient) or 2 (persistent)" + ) + @JsonProperty("deliveryMode") + @JsonPropertyDescription("Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent).") private Integer deliveryMode; /** @@ -70,6 +98,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish */ @Nullable + @JsonProperty("mandatory") + @JsonPropertyDescription("Whether the message is mandatory or not.") private Boolean mandatory; /** @@ -78,6 +108,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish */ @Nullable + @JsonProperty("bcc") + @JsonPropertyDescription("Like cc but consumers will not receive this information.") private List bcc; /** @@ -86,6 +118,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("replyTo") + @JsonPropertyDescription("Name of the queue where the consumer should send the response.") private String replyTo; /** @@ -94,6 +128,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("timestamp") + @JsonPropertyDescription("Whether the message should include a timestamp or not.") private Boolean timestamp; /** @@ -102,6 +138,8 @@ public class AMQPOperationBinding extends OperationBinding { * Applies to: subscribe */ @Nullable + @JsonProperty("ack") + @JsonPropertyDescription("Whether the consumer should ack the message or not.") private Boolean ack; /** @@ -109,6 +147,8 @@ public class AMQPOperationBinding extends OperationBinding { */ @Nullable @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.2.0"; } From dd3c6c21fa85a19b3f65f0e0d82d92b35a325e72 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 00:16:35 +0400 Subject: [PATCH 038/210] refactor: AnypointMQChannelBinding - Jackson annotations - Properties extracted to own classes --- .../anypointmq/AnypointMQChannelBinding.java | 14 +++++++++-- .../AnypointMQChannelDestinationType.java | 25 +++++++++++++++++++ .../AnypointMQChannelBindingTest.kt | 2 +- 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelDestinationType.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java index 3e1d3d54..4113fdfc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.channel.anypointmq; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,6 +23,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Anypoint MQ channel binding.") public class AnypointMQChannelBinding extends ChannelBinding { /** @@ -29,6 +33,8 @@ public class AnypointMQChannelBinding extends ChannelBinding { * from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. */ @Nullable + @JsonProperty("destination") + @JsonPropertyDescription("The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ.") private String destination; /** @@ -39,13 +45,17 @@ public class AnypointMQChannelBinding extends ChannelBinding { * supported by this channel. */ @Nullable - private String destinationType; + @JsonProperty(value = "destinationType", defaultValue = "queue") + @JsonPropertyDescription("The type of destination, which MUST be either exchange or queue or fifo-queue. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel.") + private AnypointMQChannelDestinationType destinationType = AnypointMQChannelDestinationType.QUEUE; /** - * OPTIONAL, defaults to latest. The version of this binding. + * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.0.1"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelDestinationType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelDestinationType.java new file mode 100644 index 00000000..0571f156 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelDestinationType.java @@ -0,0 +1,25 @@ +package com.asyncapi.v2.binding.channel.anypointmq; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Anypoint MQ channel destination type. + * + * @version 0.0.1 + * @see Anypoint MQ channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Anypoint MQ channel destination type.") +public enum AnypointMQChannelDestinationType { + + @JsonProperty("exchange") + EXCHANGE, + + @JsonProperty("queue") + QUEUE, + + @JsonProperty("fifo-queue") + FIFO_QUEUE + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt index 07845f8e..96d93f92 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt @@ -19,7 +19,7 @@ class AnypointMQChannelBindingTest: SerDeTest() { override fun build(): AnypointMQChannelBinding { return AnypointMQChannelBinding.builder() .destination("user-signup-exchg") - .destinationType("exchange") + .destinationType(AnypointMQChannelDestinationType.EXCHANGE) .build() } From e5b71601aab070e134958ebf6ee76bfb6faf09ae Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 00:37:02 +0400 Subject: [PATCH 039/210] refactor: AnypointMQMessageBinding - Jackson annotations - headers now Schema instead of Object --- .../anypointmq/AnypointMQMessageBinding.java | 15 +- .../AnypointMQMessageBindingTest.kt | 22 +- .../json/2.0.0/model/asyncapi - extended.json | 360 +++++++++- .../model/channel/channelItem - extended.json | 90 ++- .../channel/message/message - extended.json | 90 ++- .../message/messageTrait - extended.json | 90 ++- .../operation with message - extended.json | 90 ++- .../components/components - extended.json | 270 +++++++- .../json/2.6.0/model/asyncapi - extended.json | 630 +++++++++++++++++- .../model/channel/channelItem - extended.json | 180 ++++- .../channel/message/message - extended.json | 90 ++- .../message/messageTrait - extended.json | 90 ++- .../operation with message - extended.json | 90 ++- ...eration with oneOf message - extended.json | 90 ++- .../components/components - extended.json | 450 ++++++++++++- .../anypointMQMessageBinding - extended.json | 90 ++- 16 files changed, 2664 insertions(+), 73 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBinding.java index 0fcff490..d424ee88 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBinding.java @@ -1,6 +1,10 @@ package com.asyncapi.v2.binding.message.anypointmq; import com.asyncapi.v2.binding.message.MessageBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,23 +24,26 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Anypoint MQ message binding.") public class AnypointMQMessageBinding extends MessageBinding { /** - * OPTIONAL. - *

                            * A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers). * This schema MUST be of type object and have a properties key. Examples of Anypoint MQ protocol headers are * messageId and messageGroupId. */ @Nullable - private Object headers; + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers). This schema MUST be of type object and have a properties key. Examples of Anypoint MQ protocol headers are messageId and messageGroupId.") + private Schema headers; /** - * OPTIONAL, defaults to latest. The version of this binding. + * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.0.1"; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt index 0ffc2af7..24f94596 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.message.anypointmq import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type class AnypointMQMessageBindingTest: SerDeTest() { @@ -14,16 +16,18 @@ class AnypointMQMessageBindingTest: SerDeTest() { override fun build(): AnypointMQMessageBinding { return AnypointMQMessageBinding.builder() - .headers(mapOf( - Pair("type", "object"), - Pair("properties", mapOf( - - Pair("correlationId", mapOf( - Pair("description", "Correlation ID set by application"), - Pair("type", "string") - )) + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "correlationId", + Schema.builder() + .type(Type.STRING) + .description("Correlation ID set by application") + .build() + ) )) - )) + .build()) .build() } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 0be6435b..c175d192 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -864,13 +864,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1729,13 +1815,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -2261,13 +2433,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -2609,13 +2867,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index aed890cc..f1ef451c 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -768,13 +768,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json index dfd653a1..695eba96 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json @@ -319,13 +319,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json index 57390201..da619d3d 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json @@ -177,13 +177,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json index 6473badc..9d536293 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json @@ -540,13 +540,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index f30c08be..5c6d10ea 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -610,13 +610,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1142,13 +1228,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1490,13 +1662,99 @@ "amqp1" : { }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 251b940e..5e78d0d9 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -717,13 +717,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1427,13 +1513,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -2730,13 +2902,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -3440,13 +3698,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -4067,13 +4411,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -4668,13 +5098,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -5098,13 +5614,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index 137b4551..710e7a04 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -607,13 +607,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1317,13 +1403,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json index eee18898..eb10ab72 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json @@ -322,13 +322,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json index 6b7022e0..17978c26 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json @@ -180,13 +180,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json index 9375375d..c8e8d67a 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json @@ -601,13 +601,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json index 9305cb3f..1d92f434 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json @@ -604,13 +604,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index a8e5b0d7..df13a394 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -999,13 +999,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -1709,13 +1795,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -2336,13 +2508,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -2937,13 +3195,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, @@ -3367,13 +3711,99 @@ }, "anypointmq" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1" }, diff --git a/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json index 35dee45d..32f0633d 100644 --- a/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json @@ -1,12 +1,98 @@ { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "correlationId" : { + "title" : null, "description" : "Correlation ID set by application", - "type" : "string" + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.0.1", "x-number" : 0, From 82850776c02a43faa4e9688df8ce7887376c1e27 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 14:22:12 +0400 Subject: [PATCH 040/210] refactor: GooglePubSubChannelBinding - Validation API - Jackson annotations - Properties extracted to own classes --- .../GooglePubSubChannelBinding.java | 91 ++++++------------- ...oglePubSubChannelMessageStoragePolicy.java | 40 ++++++++ .../GooglePubSubChannelSchemaSettings.java | 61 +++++++++++++ .../GooglePubSubChannelBindingTest.kt | 4 +- 4 files changed, 131 insertions(+), 65 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java index 89e05cfd..1f2c7a8b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java @@ -1,20 +1,23 @@ package com.asyncapi.v2.binding.channel.googlepubsub; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.List; import java.util.Map; /** - * The Channel Bindings Object is used to describe the Google Cloud Pub/Sub specific Topic details with AsyncAPI. - *

                            * Describes Google Cloud Pub/Sub channel binding. + *

                            + * The Channel Bindings Object is used to describe the Google Cloud Pub/Sub specific Topic details with AsyncAPI. * * @version 0.1.0 * @see Google Cloud Pub/Sub channel binding @@ -25,96 +28,58 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Google Cloud Pub/Sub channel binding.") public class GooglePubSubChannelBinding extends ChannelBinding { /** - * The Google Cloud Pub/Sub Topic name + * The Google Cloud Pub/Sub Topic name. */ - private String topic; + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "topic", required = true) + @JsonPropertyDescription("The Google Cloud Pub/Sub Topic name.") + private String topic = ""; /** * An object of key-value pairs (These are used to categorize Cloud Resources like Cloud Pub/Sub Topics.) */ @Nullable + @JsonProperty("labels") + @JsonPropertyDescription("An object of key-value pairs (These are used to categorize Cloud Resources like Cloud Pub/Sub Topics.)") private Map labels; /** * Indicates the minimum duration to retain a message after it is published to the topic (Must be a valid Duration.) */ @Nullable + @JsonProperty("messageRetentionDuration") + @JsonPropertyDescription("Indicates the minimum duration to retain a message after it is published to the topic (Must be a valid https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration.)") private String messageRetentionDuration; /** * Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored */ @Nullable - private MessageStoragePolicy messageStoragePolicy; + @JsonProperty("messageStoragePolicy") + @JsonPropertyDescription("Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored") + private GooglePubSubChannelMessageStoragePolicy messageStoragePolicy; /** * Settings for validating messages published against a schema */ - @Nullable - private SchemaSettings schemaSettings; + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "schemaSettings", required = true) + @JsonPropertyDescription("Settings for validating messages published against a schema") + private GooglePubSubChannelSchemaSettings schemaSettings = new GooglePubSubChannelSchemaSettings(); /** - * OPTIONAL, defaults to latest. The version of this binding. + * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; - /** - * The Message Storage Policy Object is used to describe the Google Cloud Pub/Sub MessageStoragePolicy Object with AsyncAPI. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class MessageStoragePolicy { - - /** - * A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage - */ - @Nullable - private List allowedPersistenceRegions; - - } - - /** - * The Schema Settings Object is used to describe the Google Cloud Pub/Sub SchemaSettings Object with AsyncAPI. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class SchemaSettings { - - /** - * The encoding of the message (Must be one of the possible Encoding values.) - */ - @Nullable - private String encoding; - - /** - * The minimum (inclusive) revision allowed for validating messages - */ - @Nullable - private String firstRevisionId; - - /** - * The maximum (inclusive) revision allowed for validating messages - */ - @Nullable - private String lastRevisionId; - - /** - * The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.) - */ - @Nullable - private String name; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java new file mode 100644 index 00000000..9e988335 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java @@ -0,0 +1,40 @@ +package com.asyncapi.v2.binding.channel.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Google Cloud Pub/Sub MessageStoragePolicy. + *

                            + * The Message Storage Policy Object is used to describe the Google Cloud Pub/Sub MessageStoragePolicy Object with AsyncAPI. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describe the Google Cloud Pub/Sub MessageStoragePolicy") +public class GooglePubSubChannelMessageStoragePolicy { + + /** + * A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage + */ + @Nullable + @JsonProperty("allowedPersistenceRegions") + @JsonPropertyDescription("A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage") + private List allowedPersistenceRegions; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java new file mode 100644 index 00000000..94d35129 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java @@ -0,0 +1,61 @@ +package com.asyncapi.v2.binding.channel.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Google Cloud Pub/Sub SchemaSettings. + *

                            + * The Schema Settings Object is used to describe the Google Cloud Pub/Sub SchemaSettings Object with AsyncAPI. + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describe the Google Cloud Pub/Sub SchemaSettings") +public class GooglePubSubChannelSchemaSettings { + + /** + * The encoding of the message (Must be one of the possible Encoding values.) + */ + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "encoding", required = true) + @JsonPropertyDescription("The encoding of the message (Must be one of the possible https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#encoding values.)") + private String encoding = ""; + + /** + * The minimum (inclusive) revision allowed for validating messages + */ + @Nullable + @JsonProperty("firstRevisionId") + @JsonPropertyDescription("The minimum (inclusive) revision allowed for validating messages") + private String firstRevisionId; + + /** + * The maximum (inclusive) revision allowed for validating messages + */ + @Nullable + @JsonProperty("lastRevisionId") + @JsonPropertyDescription("The maximum (inclusive) revision allowed for validating messages") + private String lastRevisionId; + + /** + * The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.) + */ + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "name", required = true) + @JsonPropertyDescription("The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.)") + private String name = ""; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt index 572cf6b4..bde82173 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt @@ -16,7 +16,7 @@ class GooglePubSubChannelBindingTest: SerDeTest() { return GooglePubSubChannelBinding.builder() .topic("projects/your-project/topics/topic-proto-schema") .messageRetentionDuration("86400s") - .messageStoragePolicy(GooglePubSubChannelBinding.MessageStoragePolicy( + .messageStoragePolicy(GooglePubSubChannelMessageStoragePolicy( listOf( "us-central1", "us-central2", @@ -31,7 +31,7 @@ class GooglePubSubChannelBindingTest: SerDeTest() { "us-west4" ) )) - .schemaSettings(GooglePubSubChannelBinding.SchemaSettings.builder() + .schemaSettings(GooglePubSubChannelSchemaSettings.builder() .encoding("binary") .name("projects/your-project/schemas/message-proto") .build() From 8bb7764a5f1ea126d7ff3fa3c08f0088d7324148 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 16:32:27 +0400 Subject: [PATCH 041/210] refactor: GooglePubSubMessageBinding - Validation API - Jackson annotations - Properties extracted to own classes --- .../GooglePubSubMessageBinding.java | 47 ++++++----------- .../GooglePubSubMessageSchemaDefinition.java | 51 +++++++++++++++++++ ...oglePubSubMessageSchemaDefinitionType.java | 23 +++++++++ .../GooglePubSubMessageBindingTest.kt | 4 +- 4 files changed, 92 insertions(+), 33 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBinding.java index 55b85375..3f1771cc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.message.googlepubsub; import com.asyncapi.v2.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -9,10 +12,10 @@ import org.jetbrains.annotations.Nullable; /** + * Describes Google Cloud Pub/Sub message binding. + *

                            * The Message Binding Object is used to describe the Google Cloud Pub/Sub specific PubsubMessage details, alongside with * pertintent parts of the Google Cloud Pub/Sub Schema Object, with AsyncAPI. - *

                            - * Describes Google Cloud Pub/Sub message binding. * * @version 0.1.0 * @see Google Cloud Pub/Sub message binding @@ -23,12 +26,15 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Google Cloud Pub/Sub message binding.") public class GooglePubSubMessageBinding extends MessageBinding { /** * If non-empty, identifies related messages for which publish order should be respected (For more information, see ordering messages.) */ @Nullable + @JsonProperty("orderingKey") + @JsonPropertyDescription("If non-empty, identifies related messages for which publish order should be respected (For more information, see https://cloud.google.com/pubsub/docs/ordering messages") private String orderingKey; /** @@ -36,46 +42,25 @@ public class GooglePubSubMessageBinding extends MessageBinding { * filter messages on the subscription.) */ @Nullable + @JsonProperty("attributes") + @JsonPropertyDescription("Attributes for this message (If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.)") private Object attributes; /** * Describes the schema used to validate the payload of this message */ @Nullable - private SchemaDefinition schema; + @JsonProperty("schema") + @JsonPropertyDescription("Describes the schema used to validate the payload of this message") + private GooglePubSubMessageSchemaDefinition schema; /** - * OPTIONAL, defaults to latest. The version of this binding. + * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; - /** - * The Schema Definition Object is used to describe the Google Cloud Pub/Sub Schema Object with AsyncAPI. - * While some of this information could be, or is, described using native AsyncAPI, for consistency it makes sense to - * provide this information here at all times, especially for cases where AsyncAPI does not natively support describing - * payloads using a supported Google Cloud Pub/Sub schema format like Protobuf. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class SchemaDefinition { - - /** - * The name of the schema - */ - @Nullable - private String name; - - /** - * The type of the schema - */ - @Nullable - private String type; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java new file mode 100644 index 00000000..de55827d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java @@ -0,0 +1,51 @@ +package com.asyncapi.v2.binding.message.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; + +/** + * Describes Google Cloud Pub/Sub message schema definition. + *

                            + * The Schema Definition Object is used to describe the Google Cloud Pub/Sub Schema Object with AsyncAPI. + * While some of this information could be, or is, described using native AsyncAPI, for consistency it makes sense to + * provide this information here at all times, especially for cases where AsyncAPI does not natively support describing + * payloads using a supported Google Cloud Pub/Sub schema format like Protobuf. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes Google Cloud Pub/Sub message schema definition.") +public class GooglePubSubMessageSchemaDefinition { + + /** + * The name of the schema + */ + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "name", required = true) + @JsonPropertyDescription("The name of the schema") + private String name = ""; + + /** + * The type of the schema + */ + @NotNull + @javax.validation.constraints.NotNull + @JsonProperty(value = "type", required = true) + @JsonPropertyDescription("The type of the schema") + private GooglePubSubMessageSchemaDefinitionType type = GooglePubSubMessageSchemaDefinitionType.PROTOBUF; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java new file mode 100644 index 00000000..305b8d51 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java @@ -0,0 +1,23 @@ +package com.asyncapi.v2.binding.message.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Google Cloud Pub/Sub message schema definition type. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub message binding + * @see Types of schemas + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Google Cloud Pub/Sub message schema definition type.") +public enum GooglePubSubMessageSchemaDefinitionType { + + @JsonProperty("avro") + AVRO, + + @JsonProperty("protobuf") + PROTOBUF + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt index db71e840..99e10dcb 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt @@ -14,9 +14,9 @@ class GooglePubSubMessageBindingTest: SerDeTest() { override fun build(): GooglePubSubMessageBinding { return GooglePubSubMessageBinding.builder() - .schema(GooglePubSubMessageBinding.SchemaDefinition( + .schema(GooglePubSubMessageSchemaDefinition( "projects/your-project/schemas/message-avro", - "avro" + GooglePubSubMessageSchemaDefinitionType.AVRO )) .build() } From 4ebacfba1d8d2727f8e27aa3b4ec8a8b0cd6cf61 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 17:35:24 +0400 Subject: [PATCH 042/210] refactor: HTTPMessageBinding - Validation API - Jackson annotations - headers now is Schema instead of Object --- .../message/http/HTTPMessageBinding.java | 15 +- .../message/http/HTTPMessageBindingTest.kt | 23 +- .../json/2.0.0/model/asyncapi - extended.json | 360 +++++++++- .../model/channel/channelItem - extended.json | 90 ++- .../channel/message/message - extended.json | 90 ++- .../message/messageTrait - extended.json | 90 ++- .../operation with message - extended.json | 90 ++- .../components/components - extended.json | 270 ++++++- .../json/2.6.0/model/asyncapi - extended.json | 658 +++++++++++++++++- .../model/channel/channelItem - extended.json | 180 ++++- .../channel/message/message - extended.json | 90 ++- .../message/messageTrait - extended.json | 90 ++- .../operation with message - extended.json | 90 ++- ...eration with oneOf message - extended.json | 90 ++- .../components/components - extended.json | 450 +++++++++++- .../http/httpMessageBinding - extended.json | 90 ++- 16 files changed, 2678 insertions(+), 88 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/http/HTTPMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/http/HTTPMessageBinding.java index 02014e14..863d2546 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/http/HTTPMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/http/HTTPMessageBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.message.http; import com.asyncapi.v2.binding.message.MessageBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -26,18 +29,20 @@ public class HTTPMessageBinding extends MessageBinding { /** * A Schema object containing the definitions for each query parameter. This schema MUST be of type object - * and have a properties key. - * - * @see Schema object + * and have a properties key.* */ @Nullable - private Object headers; + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema headers; /** - * The version of this binding. If omitted, "latest" MUST be assumed. + * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt index 6097af98..3db85b16 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.message.http import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type class HTTPMessageBindingTest: SerDeTest() { @@ -14,15 +16,18 @@ class HTTPMessageBindingTest: SerDeTest() { override fun build(): HTTPMessageBinding { return HTTPMessageBinding.builder() - .headers(mapOf( - Pair("type", "object"), - Pair("properties", mapOf( - Pair("Content-Type", mapOf( - Pair("type", "string"), - Pair("enum", listOf("application/json")) - )) - )), - )) + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "Content-Type", + Schema.builder() + .type(Type.STRING) + .enumValue(listOf("application/json")) + .build() + ) + )) + .build()) .build() } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index c175d192..67822f7d 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -971,13 +971,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1922,13 +2008,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2540,13 +2712,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2974,13 +3232,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index f1ef451c..dc07399b 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -875,13 +875,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json index 695eba96..8a4f7a28 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json @@ -426,13 +426,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json index da619d3d..b1b306bd 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json @@ -284,13 +284,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json index 9d536293..801b123e 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json @@ -647,13 +647,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index 5c6d10ea..2cb7e8c8 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -717,13 +717,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1335,13 +1421,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1769,13 +1941,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 5e78d0d9..338e7ead 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -824,13 +824,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1620,13 +1706,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3009,27 +3181,113 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } - }, - "bindingVersion" : "0.1.0" - }, - "ibmmq" : { - "type" : "jms", - "headers" : "Content-Type: application/json", - "description" : "JMS stream message", - "expiry" : 0, - "bindingVersion" : "0.1.0" - }, - "jms" : { - "$ref" : "#/components/messageBindings/jms" - }, - "kafka" : { + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { "key" : { "type" : "string", "enum" : [ "myKey" ] @@ -3805,13 +4063,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -4518,13 +4862,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -5205,13 +5635,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -5721,13 +6237,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index 710e7a04..38fc3b6b 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -714,13 +714,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1510,13 +1596,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json index eb10ab72..fe8200b8 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json @@ -429,13 +429,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json index 17978c26..fab6f0c1 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json @@ -287,13 +287,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json index c8e8d67a..7ea2194f 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json @@ -708,13 +708,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json index 1d92f434..e93cf02b 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json @@ -711,13 +711,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index df13a394..949559ab 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -1106,13 +1106,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1902,13 +1988,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2615,13 +2787,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3302,13 +3560,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3818,13 +4162,99 @@ }, "http" : { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json index 436e5391..506a4b29 100644 --- a/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json @@ -1,12 +1,98 @@ { "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "application/json" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0", "x-number" : 0, From 4889adedf2695712d6bba6b33aa848eb276cdb0b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 19:50:22 +0400 Subject: [PATCH 043/210] refactor: HTTPOperationBinding - Validation API - Jackson annotations - query now is Schema instead of Object - Properties extracted to own classes --- .../operation/http/HTTPOperationBinding.java | 20 +- .../operation/http/HTTPOperationMethod.java | 22 + .../operation/http/HTTPOperationType.java | 13 + .../http/HTTPOperationBindingTest.kt | 35 +- .../json/2.0.0/model/asyncapi - extended.json | 546 ++++++++++- .../model/asyncapi - wrongly extended.json | 36 +- .../resources/json/2.0.0/model/asyncapi.json | 36 +- .../model/channel/channelItem - extended.json | 364 ++++++- .../channelItem - wrongly extended.json | 24 +- .../json/2.0.0/model/channel/channelItem.json | 24 +- .../operation with message - extended.json | 182 +++- ...ation with message - wrongly extended.json | 12 +- .../operation/operation with message.json | 12 +- ... with reference to message - extended.json | 182 +++- ...ference to message - wrongly extended.json | 12 +- .../operation with reference to message.json | 12 +- .../operation/operationTrait - extended.json | 91 +- .../operationTrait - wrongly extended.json | 6 +- .../channel/operation/operationTrait.json | 6 +- .../components/components - extended.json | 182 +++- .../components - wrongly extended.json | 12 +- .../2.0.0/model/components/components.json | 12 +- .../json/2.6.0/model/asyncapi - extended.json | 910 +++++++++++++++++- .../model/asyncapi - wrongly extended.json | 60 +- .../resources/json/2.6.0/model/asyncapi.json | 60 +- .../model/channel/channelItem - extended.json | 364 ++++++- .../channelItem - wrongly extended.json | 24 +- .../json/2.6.0/model/channel/channelItem.json | 24 +- .../operation with message - extended.json | 182 +++- ...ation with message - wrongly extended.json | 12 +- .../operation/operation with message.json | 12 +- ...eration with oneOf message - extended.json | 182 +++- ...with oneOf message - wrongly extended.json | 12 +- .../operation with oneOf message.json | 12 +- ... with reference to message - extended.json | 182 +++- ...ference to message - wrongly extended.json | 12 +- .../operation with reference to message.json | 12 +- .../operation/operationTrait - extended.json | 91 +- .../operationTrait - wrongly extended.json | 6 +- .../channel/operation/operationTrait.json | 6 +- .../components/components - extended.json | 546 ++++++++++- .../components - wrongly extended.json | 36 +- .../2.6.0/model/components/components.json | 36 +- .../http/httpOperationBinding - extended.json | 91 +- ...tpOperationBinding - wrongly extended.json | 6 +- .../operation/http/httpOperationBinding.json | 6 +- 46 files changed, 4256 insertions(+), 469 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationMethod.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationType.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java index 5789296b..0314774a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.http; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,29 +34,36 @@ public class HTTPOperationBinding extends OperationBinding { * Type of operation. Its value MUST be either request or response. */ @NotNull - private String type; + @javax.validation.constraints.NotNull + @JsonProperty(value = "type", required = true) + @JsonPropertyDescription("Type of operation. Its value MUST be either request or response.") + private HTTPOperationType type = HTTPOperationType.REQUEST; /** * 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. */ @Nullable - private String method; + @JsonProperty("method") + @JsonPropertyDescription("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.") + private HTTPOperationMethod method; /** * A Schema object containing the definitions for each query parameter. This schema MUST be of type object * and have a properties key. - * - * @see Schema object */ @Nullable - private Object query; + @JsonProperty("query") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema query; /** * The version of this binding. If omitted, "latest" MUST be assumed. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationMethod.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationMethod.java new file mode 100644 index 00000000..6781a41c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationMethod.java @@ -0,0 +1,22 @@ +package com.asyncapi.v2.binding.operation.http; + +/** + * Describes HTTP operation type. + *

                            + * Contains information about the operation type. + * + * @version 0.1.0 + * @see HTTP operation binding + * @author Pavel Bodiachevskii + */ +public enum HTTPOperationMethod { + GET, + PUT, + POST, + PATCH, + DELETE, + HEAD, + OPTIONS, + CONNECT, + TRACE +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationType.java new file mode 100644 index 00000000..c45309eb --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationType.java @@ -0,0 +1,13 @@ +package com.asyncapi.v2.binding.operation.http; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum HTTPOperationType { + + @JsonProperty("request") + REQUEST, + + @JsonProperty("response") + RESPONSE + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt index d870d125..0b568a12 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.http import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type +import java.math.BigDecimal class HTTPOperationBindingTest: SerDeTest() { @@ -14,20 +17,24 @@ class HTTPOperationBindingTest: SerDeTest() { override fun build(): HTTPOperationBinding { return HTTPOperationBinding.builder() - .type("request") - .method("GET") - .query(mapOf( - Pair("type", "object"), - Pair("required", listOf("companyId")), - Pair("properties", mapOf( - Pair("companyId", mapOf( - Pair("type", "number"), - Pair("minimum", 1), - Pair("description", "The Id of the company.") - )), - Pair("additionalProperties", false) - )), - )) + .type(HTTPOperationType.REQUEST) + .method(HTTPOperationMethod.GET) + .query(Schema.builder() + .type(Type.OBJECT) + .required(listOf("companyId")) + .properties(mapOf( + Pair( + "companyId", + Schema.builder() + .type(Type.NUMBER) + .minimum(BigDecimal.ONE) + .description("The Id of the company.") + .build() + ) + )) + .additionalProperties(false) + .build() + ) .build() } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 67822f7d..5e63e522 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -134,16 +134,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -245,16 +328,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -359,16 +525,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -470,16 +719,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2351,16 +2683,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3044,16 +3459,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json index 3d8d71d9..5a1b27bb 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json @@ -143,9 +143,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -264,9 +264,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -388,9 +388,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -509,9 +509,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1199,9 +1199,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1608,9 +1608,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json index 3b722190..1664c657 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json @@ -143,9 +143,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -264,9 +264,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -388,9 +388,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -509,9 +509,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1199,9 +1199,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1608,9 +1608,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index dc07399b..6dd1ff8d 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -38,16 +38,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -149,16 +232,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -263,16 +429,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -374,16 +623,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json index 7a9f4ea9..9b6cc41d 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json @@ -46,9 +46,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -167,9 +167,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -291,9 +291,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -412,9 +412,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json index 7da5da5d..a6ab4905 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json @@ -46,9 +46,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -167,9 +167,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -291,9 +291,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -412,9 +412,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json index 801b123e..d55968f2 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json @@ -35,16 +35,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -146,16 +229,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json index 2d22b194..f0c50a9f 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json @@ -44,9 +44,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -165,9 +165,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json index 97fa97b1..3938d574 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json @@ -44,9 +44,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -165,9 +165,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json index 4e4f8ccd..ada12db1 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json @@ -35,16 +35,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -146,16 +229,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json index e398ffb0..df38ea47 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json @@ -44,9 +44,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -165,9 +165,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json index fb867a51..335850f2 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json @@ -44,9 +44,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -165,9 +165,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json index 45717b11..02d7e948 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json @@ -35,16 +35,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json index 1a8b6e90..208b0075 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json @@ -50,9 +50,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json index fc7156bf..c133052b 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json @@ -50,9 +50,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index 2cb7e8c8..f3a66441 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -1060,16 +1060,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1753,16 +1836,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json index a96d7d14..bc4b8418 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json @@ -334,9 +334,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -743,9 +743,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json index f2362763..f2cfe194 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json @@ -334,9 +334,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -743,9 +743,9 @@ "type" : "number", "minimum" : 1, "description" : "The Id of the company." - }, - "additionalProperties" : false - } + } + }, + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 338e7ead..66410b3a 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -157,16 +157,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -297,16 +380,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1042,16 +1208,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1182,16 +1431,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2514,16 +2846,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -2654,16 +3069,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3399,16 +3897,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3539,16 +4120,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -5248,16 +5912,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -6027,16 +6774,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json index 5eb97a1a..cc2a0361 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json @@ -180,9 +180,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -341,9 +341,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -673,9 +673,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -834,9 +834,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1469,9 +1469,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1630,9 +1630,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1962,9 +1962,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2123,9 +2123,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2904,9 +2904,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -3405,9 +3405,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json index 85d2b7a4..8684ba91 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json @@ -180,9 +180,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -341,9 +341,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -673,9 +673,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -834,9 +834,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1469,9 +1469,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1630,9 +1630,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1962,9 +1962,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2123,9 +2123,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2904,9 +2904,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -3405,9 +3405,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index 38fc3b6b..f42c8568 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -47,16 +47,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -187,16 +270,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -932,16 +1098,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1072,16 +1321,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json index e3d7d309..b0b28043 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json @@ -68,9 +68,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -229,9 +229,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -561,9 +561,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -722,9 +722,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json index 68fc336b..eb5ac519 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json @@ -68,9 +68,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -229,9 +229,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -561,9 +561,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -722,9 +722,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json index 7ea2194f..fb95470e 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json @@ -44,16 +44,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -184,16 +267,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json index 777a2662..9e06c19c 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json index 6cf3ffe1..68896895 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json index e93cf02b..926bfecb 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json @@ -44,16 +44,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -184,16 +267,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json index 922df5c6..0980fcbc 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json index a53f9de4..18ca41cb 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json index 08ab1513..64f84c9b 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json @@ -44,16 +44,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -184,16 +267,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json index f07a29e5..a283b17e 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json index 81a73e13..56fd6fd1 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -224,9 +224,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json index 606acb55..12e1b195 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json @@ -44,16 +44,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json index 77750dcf..068d76a5 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json index 255da4da..2a102376 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json @@ -63,9 +63,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index 949559ab..e22b489e 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -439,16 +439,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -579,16 +662,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1324,16 +1490,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -1464,16 +1713,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3173,16 +3505,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, @@ -3952,16 +4367,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json index 261ccb28..daed3183 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json @@ -208,9 +208,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -369,9 +369,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -701,9 +701,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -862,9 +862,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1643,9 +1643,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2144,9 +2144,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json index 771497c2..fb628bf6 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json @@ -208,9 +208,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -369,9 +369,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -701,9 +701,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -862,9 +862,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -1643,9 +1643,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, @@ -2144,9 +2144,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" }, diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json index 6c6b0e40..d114cb25 100644 --- a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json @@ -2,16 +2,99 @@ "type" : "request", "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, "minimum" : 1, - "description" : "The Id of the company." - }, - "additionalProperties" : false - } + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0", "x-number" : 0, diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json index 994cbbec..278fb5ae 100644 --- a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json @@ -11,9 +11,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0", "x-number": 0, diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json index 468105a1..d832076d 100644 --- a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json +++ b/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json @@ -11,9 +11,9 @@ "type": "number", "minimum": 1, "description": "The Id of the company." - }, - "additionalProperties": false - } + } + }, + "additionalProperties": false }, "bindingVersion": "0.1.0" } \ No newline at end of file From 5ebfdbdffc98c978bb7f2e3cd08f8fdef312cade Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 20:42:37 +0400 Subject: [PATCH 044/210] refactor: IBMMQServerBinding - Validation API - Jackson annotations --- .../server/ibmmq/IBMMQServerBinding.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBinding.java index 0e63bedc..fdeef6d9 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.server.ibmmq; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,6 +26,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ server binding.") public class IBMMQServerBinding extends ServerBinding { /** @@ -32,6 +36,8 @@ public class IBMMQServerBinding extends ServerBinding { * MUST NOT be specified for URI Scheme http:// or file:// */ @Nullable + @JsonProperty("groupId") + @JsonPropertyDescription("Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group.") private String groupId; /** @@ -41,6 +47,8 @@ public class IBMMQServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty(value = "ccdtQueueManagerName", defaultValue = "*") + @JsonPropertyDescription("The name of the IBM MQ queue manager to bind to in the CCDT file.") private String ccdtQueueManagerName = "*"; /** @@ -51,6 +59,8 @@ public class IBMMQServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty(value = "cipherSpec", defaultValue = "ANY") + @JsonPropertyDescription("The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center.") private String cipherSpec = "ANY"; /** @@ -61,7 +71,9 @@ public class IBMMQServerBinding extends ServerBinding { * MUST NOT be specified for URI Scheme file:// or http:// */ @Builder.Default - private boolean multiEndpointServer = false; + @JsonProperty(value = "multiEndpointServer", defaultValue = "false") + @JsonPropertyDescription("If multiEndpointServer is true then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (multiEndpointServer = false) may be required. MUST NOT be specified for URI Scheme file:// or http://") + private Boolean multiEndpointServer = false; /** * The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. @@ -71,12 +83,24 @@ public class IBMMQServerBinding extends ServerBinding { * MUST be 0-999999 */ @Builder.Default + @javax.validation.constraints.Min( + value = 0, + message = "Heart beat interval must be greater or equals to 0" + ) + @javax.validation.constraints.Max( + value = 999999, + message = "Heart beat interval must be less or equals to 999999" + ) + @JsonProperty(value = "heartBeatInterval", defaultValue = "300") + @JsonPropertyDescription("The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager.") private int heartBeatInterval = 300; /** * The version of this binding. */ @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } From 1027998848e8d4f8ce70a5c8305763dd81a0510c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 20:52:38 +0400 Subject: [PATCH 045/210] refactor: IBMMQMessageBinding - Validation API - Jackson annotations - Properties extracted to own classes --- .../message/ibmmq/IBMMQMessageBinding.java | 22 ++++++++++++++-- .../message/ibmmq/IBMMQMessageType.java | 25 +++++++++++++++++++ .../message/ibmmq/IBMMQMessageBindingTest.kt | 2 +- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageType.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java index 381c6062..5ccc1811 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.message.ibmmq; import com.asyncapi.v2.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,6 +25,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ message binding.") public class IBMMQMessageBinding extends MessageBinding { /** @@ -30,7 +34,9 @@ public class IBMMQMessageBinding extends MessageBinding { * MUST be either string, jms or binary */ @Nullable - private String type; + @JsonProperty(value = "type", defaultValue = "string") + @JsonPropertyDescription("The type of the message.") + private IBMMQMessageType type = IBMMQMessageType.STRING; /** * Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma @@ -41,6 +47,8 @@ public class IBMMQMessageBinding extends MessageBinding { * headers MUST NOT be specified if type = string or jms */ @Nullable + @JsonProperty("headers") + @JsonPropertyDescription("Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list.") private String headers; /** @@ -50,6 +58,8 @@ public class IBMMQMessageBinding extends MessageBinding { * A minimum markdown syntax as described by CommonMark 0.27 is assumed. */ @Nullable + @JsonProperty("description") + @JsonPropertyDescription("Provides additional information for application developers: describes the message type or format.") private String description; /** @@ -61,13 +71,21 @@ public class IBMMQMessageBinding extends MessageBinding { * expiry value MUST be either zero (unlimited) or greater than zero. */ @Nullable - private Integer expiry; + @javax.validation.constraints.Min( + value = 0, + message = "Expiry must be greater or equals to 0" + ) + @JsonProperty(value = "expiry", defaultValue = "0") + @JsonPropertyDescription("The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. 'expiry' values are API dependant e.g., MQI and JMS use different units of time and default values for 'unlimited'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center.") + private Integer expiry = 0; /** * The version of this binding. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageType.java new file mode 100644 index 00000000..02a24a33 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageType.java @@ -0,0 +1,25 @@ +package com.asyncapi.v2.binding.message.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes IBM MQ message type. + *

                            + * This object contains information about the message type in IBM MQ. + * + * @version 0.1.0 + * @see IBM MQ message binding + * @author Pavel Bodiachevskii + */ +public enum IBMMQMessageType { + + @JsonProperty("string") + STRING, + + @JsonProperty("jms") + JMS, + + @JsonProperty("binary") + BINARY + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt index 4a6d762a..43661874 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt @@ -14,7 +14,7 @@ class IBMMQMessageBindingTest: SerDeTest() { override fun build(): IBMMQMessageBinding { return IBMMQMessageBinding.builder() - .type("jms") + .type(IBMMQMessageType.JMS) .description("JMS stream message") .headers("Content-Type: application/json") .expiry(0) From 2922c03d93010073b51e16b6f8c040bfe1300105 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 21:45:58 +0400 Subject: [PATCH 046/210] refactor: IBMMQChannelBinding - Validation API - Jackson annotations - Properties extracted to own classes --- .../channel/ibmmq/IBMMQChannelBinding.java | 113 ++++-------------- .../ibmmq/IBMMQChannelDestinationType.java | 20 ++++ .../ibmmq/IBMMQChannelQueueProperties.java | 66 ++++++++++ .../ibmmq/IBMMQChannelTopicProperties.java | 78 ++++++++++++ .../channel/ibmmq/IBMMQChannelBindingTest.kt | 7 +- 5 files changed, 192 insertions(+), 92 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelDestinationType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelQueueProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelTopicProperties.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java index 0a62e9f6..a0654fd8 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.channel.ibmmq; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,7 +34,10 @@ public class IBMMQChannelBinding extends ChannelBinding { * MUST be either topic or queue. For type topic, the AsyncAPI channel name MUST be assumed for the IBM MQ topic string unless overridden. */ @Nullable - private String destinationType; + @Builder.Default + @JsonProperty(value = "destinationType", defaultValue = "topic") + @JsonPropertyDescription("Defines the type of AsyncAPI channel.") + private IBMMQChannelDestinationType destinationType = IBMMQChannelDestinationType.TOPIC; /** * REQUIRED if destinationType = queue @@ -39,7 +45,9 @@ public class IBMMQChannelBinding extends ChannelBinding { * queue and topic fields MUST NOT coexist within a channel binding */ @Nullable - private Queue queue; + @JsonProperty("queue") + @JsonPropertyDescription("Defines the properties of a queue.") + private IBMMQChannelQueueProperties queue; /** * Defines the properties of a topic. @@ -49,7 +57,9 @@ public class IBMMQChannelBinding extends ChannelBinding { * queue and topic fields MUST NOT coexist within a channel binding. */ @Nullable - private Topic topic; + @JsonProperty("topic") + @JsonPropertyDescription("Defines the properties of a topic.") + private IBMMQChannelTopicProperties topic; /** * The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are @@ -59,97 +69,24 @@ public class IBMMQChannelBinding extends ChannelBinding { * MUST be 0-104,857,600 bytes (100 MB). */ @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "Maximum length of the physical message (in bytes) must be greater or equals to 0" + ) + @javax.validation.constraints.Max( + value = 104857600, + message = "Maximum length of the physical message (in bytes) must be lower or equals to 104857600" + ) + @JsonProperty("maxMsgLength") + @JsonPropertyDescription("The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center.") private Integer maxMsgLength; /** * The version of this binding. */ @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; - /** - * Defines the properties of a queue. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class Queue { - - /** - * Defines the name of the IBM MQ queue associated with the channel. - *

                            - * A value MUST be specified. MUST NOT exceed 48 characters in length. MUST be a valid IBM MQ queue name - */ - @NotNull - private String objectName; - - /** - * Defines if the queue is a cluster queue and therefore partitioned. If true, a binding option MAY be specified - * when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center. - *

                            - * If false, binding options SHOULD NOT be specified when accessing the queue. - */ - @Nullable - @Builder.Default - private Boolean isPartitioned = false; - - /** - * Specifies if it is recommended to open the queue exclusively. - */ - @Nullable - @Builder.Default - private Boolean exclusive = false; - - } - - /** - * Defines the properties of a topic. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class Topic { - - /** - * The value of the IBM MQ topic string to be used. - *

                            - * OPTIONAL - * Note: if specified, SHALL override AsyncAPI channel name. - *

                            - * MUST NOT exceed 10240 characters in length. MAY coexist with topic.objectName - */ - @Nullable - private String string; - - /** - * The name of the IBM MQ topic object. - *

                            - * OPTIONAL - * Note: if specified, SHALL override AsyncAPI channel name. - *

                            - * MUST NOT exceed 48 characters in length. MAY coexist with topic.string - */ - @Nullable - private String objectName; - - /** - * Defines if the subscription may be durable. - */ - @Nullable - @Builder.Default - private Boolean durablePermitted = true; - - /** - * Defines if the last message published will be made available to new subscriptions. - */ - @Nullable - @Builder.Default - private Boolean lastMsgRetained = false; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelDestinationType.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelDestinationType.java new file mode 100644 index 00000000..7b0d7058 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelDestinationType.java @@ -0,0 +1,20 @@ +package com.asyncapi.v2.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes IBM MQ channel destination type. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +public enum IBMMQChannelDestinationType { + + @JsonProperty("topic") + TOPIC, + + @JsonProperty("queue") + QUEUE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelQueueProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelQueueProperties.java new file mode 100644 index 00000000..fa06b6a2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelQueueProperties.java @@ -0,0 +1,66 @@ +package com.asyncapi.v2.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ channel queue properties. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes IBM MQ channel queue properties.") +public class IBMMQChannelQueueProperties { + + /** + * Defines the name of the IBM MQ queue associated with the channel. + *

                            + * A value MUST be specified. MUST NOT exceed 48 characters in length. MUST be a valid IBM MQ queue name + */ + @NotNull + @javax.validation.constraints.NotNull + @javax.validation.constraints.Size( + max = 48, + message = "Name of the IBM MQ queue must be less or equals to 48" + ) + @Builder.Default + @JsonProperty("objectName") + @JsonPropertyDescription("Defines the name of the IBM MQ queue associated with the channel.") + private String objectName = ""; + + /** + * Defines if the queue is a cluster queue and therefore partitioned. If true, a binding option MAY be specified + * when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center. + *

                            + * If false, binding options SHOULD NOT be specified when accessing the queue. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "isPartitioned", defaultValue = "false") + @JsonPropertyDescription("Defines if the queue is a cluster queue and therefore partitioned. If 'true', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center.") + private Boolean isPartitioned = false; + + /** + * Specifies if it is recommended to open the queue exclusively. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "exclusive", defaultValue = "false") + @JsonPropertyDescription("Specifies if it is recommended to open the queue exclusively.") + private Boolean exclusive = false; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelTopicProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelTopicProperties.java new file mode 100644 index 00000000..7d3b54b4 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelTopicProperties.java @@ -0,0 +1,78 @@ +package com.asyncapi.v2.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ channel topic properties. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +public class IBMMQChannelTopicProperties { + + /** + * The value of the IBM MQ topic string to be used. + *

                            + * OPTIONAL + * Note: if specified, SHALL override AsyncAPI channel name. + *

                            + * MUST NOT exceed 10240 characters in length. MAY coexist with topic.objectName + */ + @Nullable + @javax.validation.constraints.Max( + value = 10240, + message = "Maximum length of topic string must be lower or equals to 10240" + ) + @JsonProperty("string") + @JsonPropertyDescription("The value of the IBM MQ topic string to be used.") + private String string; + + /** + * The name of the IBM MQ topic object. + *

                            + * OPTIONAL + * Note: if specified, SHALL override AsyncAPI channel name. + *

                            + * MUST NOT exceed 48 characters in length. MAY coexist with topic.string + */ + @Nullable + @javax.validation.constraints.Max( + value = 48, + message = "Maximum length of topic name must be lower or equals to 48" + ) + @JsonProperty("objectName") + @JsonPropertyDescription("The name of the IBM MQ topic object.") + private String objectName; + + /** + * Defines if the subscription may be durable. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "durablePermitted", defaultValue = "true") + @JsonPropertyDescription("Defines if the subscription may be durable.") + private Boolean durablePermitted = true; + + /** + * Defines if the last message published will be made available to new subscriptions. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "lastMsgRetained", defaultValue = "false") + @JsonPropertyDescription("Defines if the last message published will be made available to new subscriptions.") + private Boolean lastMsgRetained = false; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt index 3b0fbe8c..62e4a4a6 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt @@ -1,7 +1,6 @@ package com.asyncapi.v2.binding.channel.ibmmq import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2.binding.channel.ibmmq.IBMMQChannelBinding.Topic class IBMMQChannelBindingTest: SerDeTest() { @@ -15,14 +14,14 @@ class IBMMQChannelBindingTest: SerDeTest() { override fun build(): IBMMQChannelBinding { return IBMMQChannelBinding.builder() - .destinationType("topic") - .queue(IBMMQChannelBinding.Queue.builder() + .destinationType(IBMMQChannelDestinationType.TOPIC) + .queue(IBMMQChannelQueueProperties.builder() .objectName("message") .isPartitioned(false) .exclusive(true) .build() ) - .topic(Topic.builder() + .topic(IBMMQChannelTopicProperties.builder() .string("messages") .objectName("message") .durablePermitted(true) From 1eb6678cb5e8f1e777f64c2b9b8fdf3c76e2e34a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:02:41 +0400 Subject: [PATCH 047/210] refactor: KafkaServerBinding - Jackson annotations --- .../v2/binding/server/kafka/KafkaServerBinding.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java index d1d3994a..83e93464 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.server.kafka; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -26,6 +28,8 @@ public class KafkaServerBinding extends ServerBinding { * API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used) */ @Nullable + @JsonProperty("schemaRegistryUrl") + @JsonPropertyDescription("API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)") private String schemaRegistryUrl; /** @@ -34,6 +38,8 @@ public class KafkaServerBinding extends ServerBinding { * The vendor of Schema Registry and Kafka serdes library that should be used (e.g. apicurio, confluent, ibm, or karapace) */ @Nullable + @JsonProperty("schemaRegistryVendor") + @JsonPropertyDescription("The vendor of Schema Registry and Kafka serdes library that should be used (e.g. apicurio, confluent, ibm, or karapace)") private String schemaRegistryVendor; /** @@ -41,6 +47,8 @@ public class KafkaServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.4.0"; } From a57746165bb80ce2056957d178b4d903dc004824 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:04:40 +0400 Subject: [PATCH 048/210] refactor: KafkaServerBinding - Jackson annotations --- .../asyncapi/v2/binding/server/kafka/KafkaServerBinding.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java index 83e93464..87f21cec 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/kafka/KafkaServerBinding.java @@ -1,6 +1,7 @@ package com.asyncapi.v2.binding.server.kafka; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; @@ -22,6 +23,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Kafka server binding.") public class KafkaServerBinding extends ServerBinding { /** From a8dec41e10ef79817d6c027d9ba7c97da8b3c517 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:21:28 +0400 Subject: [PATCH 049/210] refactor: KafkaChannelBinding - Validation API - Jackson annotations - Properties extracted to own classes --- .../channel/kafka/KafkaChannelBinding.java | 73 +++++----------- .../kafka/KafkaChannelTopicCleanupPolicy.java | 13 +++ .../kafka/KafkaChannelTopicConfiguration.java | 83 +++++++++++++++++++ .../channel/kafka/KafkaChannelBindingTest.kt | 7 +- .../json/2.0.0/model/asyncapi - extended.json | 8 +- .../model/channel/channelItem - extended.json | 4 +- .../components/components - extended.json | 4 +- .../json/2.6.0/model/asyncapi - extended.json | 12 +-- .../model/channel/channelItem - extended.json | 4 +- .../components/components - extended.json | 8 +- .../kafka/kafkaChannelBinding - extended.json | 2 +- 11 files changed, 142 insertions(+), 76 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicConfiguration.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java index c625a04b..d5a129af 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java @@ -1,7 +1,9 @@ package com.asyncapi.v2.binding.channel.kafka; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -23,12 +25,15 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Kafka channel binding.") public class KafkaChannelBinding extends ChannelBinding { /** * Kafka topic name if different from channel name. */ @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("Kafka topic name if different from channel name.") private String topic; /** @@ -37,6 +42,12 @@ public class KafkaChannelBinding extends ChannelBinding { * MUST be positive. */ @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Number of partitions must be greater or equals to 1" + ) + @JsonProperty("partitions") + @JsonPropertyDescription("Number of partitions configured on this topic (useful to know how many parallel consumers you may run).") private Integer partitions; /** @@ -45,13 +56,21 @@ public class KafkaChannelBinding extends ChannelBinding { * MUST be positive. */ @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Number of replicas must be greater or equals to 1" + ) + @JsonProperty("replicas") + @JsonPropertyDescription("Number of replicas configured on this topic.") private Integer replicas; /** * Topic configuration properties that are relevant for the API. */ @Nullable - private TopicConfiguration topicConfiguration; + @JsonProperty("topicConfiguration") + @JsonPropertyDescription("Topic configuration properties that are relevant for the API.") + private KafkaChannelTopicConfiguration topicConfiguration; /** * The version of this binding. If omitted, "latest" MUST be assumed. @@ -60,56 +79,4 @@ public class KafkaChannelBinding extends ChannelBinding { @Builder.Default private String bindingVersion = "0.4.0"; - /** - * This objects contains information about the API relevant topic configuration in Kafka. - * - * @version 0.4.0 - * @see Kafka channel binding - * @author Pavel Bodiachevskii - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class TopicConfiguration { - - /** - * The cleanup.policy configuration option. - *

                            - * array may only contain delete and/or compact - */ - @Nullable - @JsonProperty("cleanup.policy") - private List cleanupPolicy; - - /** - * The retention.ms configuration option. - */ - @Nullable - @JsonProperty("retention.ms") - private Integer retentionMs; - - /** - * The retention.bytes configuration option. - */ - @Nullable - @JsonProperty("retention.bytes") - private Integer retentionBytes; - - /** - * The delete.retention.ms configuration option. - */ - @Nullable - @JsonProperty("delete.retention.ms") - private Integer deleteRetentionMs; - - /** - * The max.message.bytes configuration option. - */ - @Nullable - @JsonProperty("max.message.bytes") - private Integer maxMessageBytes; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java new file mode 100644 index 00000000..06fe5aa2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java @@ -0,0 +1,13 @@ +package com.asyncapi.v2.binding.channel.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum KafkaChannelTopicCleanupPolicy { + + @JsonProperty("compact") + COMPACT, + + @JsonProperty("delete") + DELETE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicConfiguration.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicConfiguration.java new file mode 100644 index 00000000..0e49c527 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelTopicConfiguration.java @@ -0,0 +1,83 @@ +package com.asyncapi.v2.binding.channel.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * This objects contains information about the API relevant topic configuration in Kafka. + * + * @version 0.4.0 + * @see Kafka channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class KafkaChannelTopicConfiguration { + + /** + * The cleanup.policy configuration option. + *

                            + * array may only contain delete and/or compact + */ + @Nullable + @JsonProperty("cleanup.policy") + private List cleanupPolicy; + + /** + * The retention.ms configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = -1, + message = "retention.ms must be greater or equals to -1" + ) + @JsonProperty("retention.ms") + @JsonPropertyDescription("The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.") + private Integer retentionMs; + + /** + * The retention.bytes configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = -1, + message = "retention.bytes must be greater or equals to -1" + ) + @JsonProperty("retention.bytes") + @JsonPropertyDescription("The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.") + private Integer retentionBytes; + + /** + * The delete.retention.ms configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "delete.retention.ms must be greater or equals to 0" + ) + @JsonProperty("delete.retention.ms") + @JsonPropertyDescription("The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.") + private Integer deleteRetentionMs; + + /** + * The max.message.bytes configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "max.message.bytes must be greater or equals to 0" + ) + @JsonProperty("max.message.bytes") + @JsonPropertyDescription("The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.") + private Integer maxMessageBytes; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt index 4a1314ce..b0ebffa0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt @@ -21,8 +21,11 @@ class KafkaChannelBindingTest: SerDeTest() { .topic("my-specific-topic-name") .partitions(20) .replicas(3) - .topicConfiguration(KafkaChannelBinding.TopicConfiguration.builder() - .cleanupPolicy(listOf("delete", "compact")) + .topicConfiguration(KafkaChannelTopicConfiguration.builder() + .cleanupPolicy(listOf( + KafkaChannelTopicCleanupPolicy.DELETE, + KafkaChannelTopicCleanupPolicy.COMPACT + )) .retentionMs(604_800_000) .retentionBytes(1_000_000_000) .deleteRetentionMs(86_400_000) diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 5e63e522..562010c1 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -1562,6 +1562,7 @@ }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -1571,8 +1572,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { }, "mqtt" : { }, @@ -3381,6 +3381,7 @@ }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -3390,8 +3391,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { }, "mqtt" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index 6dd1ff8d..909f67b7 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -1466,6 +1466,7 @@ }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -1475,8 +1476,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { }, "mqtt" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index f3a66441..4cfb1147 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -1758,6 +1758,7 @@ }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -1767,8 +1768,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { }, "mqtt" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 66410b3a..b1595e10 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -2327,6 +2327,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -2336,8 +2337,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" @@ -5016,6 +5016,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -5025,8 +5026,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" @@ -6672,6 +6672,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -6681,8 +6682,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index f42c8568..4b820cbf 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -2217,6 +2217,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -2226,8 +2227,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index e22b489e..47dad4c6 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -2609,6 +2609,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -2618,8 +2619,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" @@ -4265,6 +4265,7 @@ "$ref" : "#/components/channelBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -4274,8 +4275,7 @@ "retention.bytes" : 1000000000, "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/channelBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json index 40391049..1b79a719 100644 --- a/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json @@ -1,4 +1,5 @@ { + "bindingVersion" : "0.4.0", "topic" : "my-specific-topic-name", "partitions" : 20, "replicas" : 3, @@ -9,7 +10,6 @@ "delete.retention.ms" : 86400000, "max.message.bytes" : 1048588 }, - "bindingVersion" : "0.4.0", "x-number" : 0, "x-string" : "", "x-object" : { From f8225318824c10db42d66062676cba39d387aef7 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:33:57 +0400 Subject: [PATCH 050/210] refactor: KafkaOperationBinding - Jackson annotations - groupId now is Schema instead of Object - clientId now is Schema instead of Object --- .../kafka/KafkaOperationBinding.java | 17 +- .../kafka/KafkaOperationBindingTest.kt | 18 +- .../json/2.0.0/model/asyncapi - extended.json | 692 ++++++++-- .../model/channel/channelItem - extended.json | 376 +++++- .../operation with message - extended.json | 188 ++- ... with reference to message - extended.json | 188 ++- .../operation/operationTrait - extended.json | 94 +- .../components/components - extended.json | 188 ++- .../json/2.6.0/model/asyncapi - extended.json | 1140 +++++++++++++++-- .../model/channel/channelItem - extended.json | 376 +++++- .../operation with message - extended.json | 188 ++- ...eration with oneOf message - extended.json | 188 ++- ... with reference to message - extended.json | 188 ++- .../operation/operationTrait - extended.json | 94 +- .../components/components - extended.json | 700 ++++++++-- .../kafkaOperationBinding - extended.json | 92 +- 16 files changed, 4300 insertions(+), 427 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBinding.java index 7fba6666..8ca426d2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.kafka; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -25,22 +28,20 @@ public class KafkaOperationBinding extends OperationBinding { /** - * TODO: Schema * Id of the consumer group. - * - * @see Schema object */ @Nullable - private Object groupId; + @JsonProperty("groupId") + @JsonPropertyDescription("Id of the consumer group.") + private Schema groupId; /** - * TODO: Schema * Id of the consumer inside a consumer group. - * - * @see Schema object */ @Nullable - private Object clientId; + @JsonProperty("clientId") + @JsonPropertyDescription("Id of the consumer inside a consumer group.") + private Schema clientId; /** * The version of this binding. If omitted, "latest" MUST be assumed. diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt index 9f751dc7..b32ea5e0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.operation.kafka import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type class KafkaOperationBindingTest: SerDeTest() { @@ -14,14 +16,14 @@ class KafkaOperationBindingTest: SerDeTest() { override fun build(): KafkaOperationBinding { return KafkaOperationBinding.builder() - .groupId(mapOf( - Pair("type", "string"), - Pair("enum", listOf("myGroupId")) - )) - .clientId(mapOf( - Pair("type", "string"), - Pair("enum", listOf("myClientId")) - )) + .groupId(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myGroupId")) + .build()) + .clientId(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myClientId")) + .build()) .build() } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 562010c1..28d23f5b 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -233,15 +233,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -427,15 +513,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -624,15 +796,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -726,7 +984,155 @@ "examples" : null, "contentEncoding" : null, "contentMediaType" : null, - "type" : "object", + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { }, + "jms" : { }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", "multipleOf" : null, "maximum" : null, "exclusiveMaximum" : null, @@ -743,58 +1149,10 @@ "contains" : null, "maxProperties" : null, "minProperties" : null, - "required" : [ "companyId" ], - "properties" : { - "companyId" : { - "title" : null, - "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null - } - }, + "required" : null, + "properties" : null, "patternProperties" : null, - "additionalProperties" : false, + "additionalProperties" : null, "dependencies" : null, "propertyNames" : null, "allOf" : null, @@ -807,26 +1165,12 @@ "deprecated" : null, "default" : null, "$ref" : null, - "enum" : null, + "enum" : [ "myClientId" ], "const" : null, "if" : null, "then" : null, "else" : null - }, - "bindingVersion" : "0.1.0" - }, - "ibmmq" : { }, - "jms" : { }, - "kafka" : { - "groupId" : { - "type" : "string", - "enum" : [ "myGroupId" ] - }, - "clientId" : { - "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { }, "mqtt" : { @@ -2782,15 +3126,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -3558,15 +3988,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index 909f67b7..fafd0afe 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -137,15 +137,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -331,15 +417,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -528,15 +700,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -722,15 +980,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json index d55968f2..335a1085 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json @@ -134,15 +134,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -328,15 +414,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json index ada12db1..93bf31ad 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json @@ -134,15 +134,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -328,15 +414,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json index 02d7e948..abf502d1 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json @@ -134,15 +134,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index 4cfb1147..a271bd70 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -1159,15 +1159,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { @@ -1935,15 +2021,101 @@ "ibmmq" : { }, "jms" : { }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { }, "mqtt" : { diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index b1595e10..5a211ae6 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -260,15 +260,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -483,15 +569,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -1311,39 +1483,125 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" - }, - "mercure" : { - "$ref" : "#/components/operationBindings/mercure" - }, - "mqtt" : { - "qos" : 2, - "retain" : true, - "bindingVersion" : "0.1.0" - }, - "mqtt5" : { - "$ref" : "#/components/operationBindings/mqtt5" - }, - "nats" : { - "queue" : "messages", - "bindingVersion" : "0.1.0" - }, - "pulsar" : { - "$ref" : "#/components/operationBindings/pulsar" - }, - "redis" : { - "$ref" : "#/components/operationBindings/redis" - }, - "sns" : { - "$ref" : "#/components/operationBindings/sns" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" }, "solace" : { "destinations" : [ { @@ -1534,15 +1792,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -2949,15 +3293,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -3172,20 +3602,106 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] - }, - "clientId" : { - "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" - }, - "mercure" : { - "$ref" : "#/components/operationBindings/mercure" - }, - "mqtt" : { + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { "qos" : 2, "retain" : true, "bindingVersion" : "0.1.0" @@ -4000,15 +4516,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -4127,7 +4729,159 @@ "examples" : null, "contentEncoding" : null, "contentMediaType" : null, - "type" : "object", + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", "multipleOf" : null, "maximum" : null, "exclusiveMaximum" : null, @@ -4144,58 +4898,10 @@ "contains" : null, "maxProperties" : null, "minProperties" : null, - "required" : [ "companyId" ], - "properties" : { - "companyId" : { - "title" : null, - "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null - } - }, + "required" : null, + "properties" : null, "patternProperties" : null, - "additionalProperties" : false, + "additionalProperties" : null, "dependencies" : null, "propertyNames" : null, "allOf" : null, @@ -4208,30 +4914,12 @@ "deprecated" : null, "default" : null, "$ref" : null, - "enum" : null, + "enum" : [ "myClientId" ], "const" : null, "if" : null, "then" : null, "else" : null - }, - "bindingVersion" : "0.1.0" - }, - "ibmmq" : { - "$ref" : "#/components/operationBindings/ibmmq" - }, - "jms" : { - "$ref" : "#/components/operationBindings/jms" - }, - "kafka" : { - "groupId" : { - "type" : "string", - "enum" : [ "myGroupId" ] - }, - "clientId" : { - "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -6015,15 +6703,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -6877,15 +7651,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index 4b820cbf..3608d457 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -150,15 +150,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -373,15 +459,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -1201,15 +1373,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -1424,15 +1682,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json index fb95470e..1a63136a 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json @@ -147,15 +147,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -370,15 +456,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json index 926bfecb..7fef448b 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json @@ -147,15 +147,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -370,15 +456,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json index 64f84c9b..3ba03711 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json @@ -147,15 +147,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -370,15 +456,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json index 12e1b195..2f5df643 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json @@ -147,15 +147,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index 47dad4c6..dab0e3ec 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -542,15 +542,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -765,15 +851,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -1593,15 +1765,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -1720,7 +1978,159 @@ "examples" : null, "contentEncoding" : null, "contentMediaType" : null, - "type" : "object", + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", "multipleOf" : null, "maximum" : null, "exclusiveMaximum" : null, @@ -1737,58 +2147,10 @@ "contains" : null, "maxProperties" : null, "minProperties" : null, - "required" : [ "companyId" ], - "properties" : { - "companyId" : { - "title" : null, - "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null - } - }, + "required" : null, + "properties" : null, "patternProperties" : null, - "additionalProperties" : false, + "additionalProperties" : null, "dependencies" : null, "propertyNames" : null, "allOf" : null, @@ -1801,30 +2163,12 @@ "deprecated" : null, "default" : null, "$ref" : null, - "enum" : null, + "enum" : [ "myClientId" ], "const" : null, "if" : null, "then" : null, "else" : null - }, - "bindingVersion" : "0.1.0" - }, - "ibmmq" : { - "$ref" : "#/components/operationBindings/ibmmq" - }, - "jms" : { - "$ref" : "#/components/operationBindings/jms" - }, - "kafka" : { - "groupId" : { - "type" : "string", - "enum" : [ "myGroupId" ] - }, - "clientId" : { - "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -3608,15 +3952,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" @@ -4470,15 +4900,101 @@ "$ref" : "#/components/operationBindings/jms" }, "kafka" : { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] - }, - "bindingVersion" : "0.4.0" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } }, "mercure" : { "$ref" : "#/components/operationBindings/mercure" diff --git a/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json index 7b36a6a5..9dbacd7c 100644 --- a/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json @@ -1,13 +1,99 @@ { + "bindingVersion" : "0.4.0", "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myGroupId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myClientId" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, - "bindingVersion" : "0.4.0", "x-number" : 0, "x-string" : "", "x-object" : { From 0f0a7d79d1d2b7cc8cac2c15379b243b7a2c3af0 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:51:53 +0400 Subject: [PATCH 051/210] refactor: KafkaMessageBinding - Jackson annotations - key now is Schema instead of Object - properties extracted to own classes --- .../message/kafka/KafkaMessageBinding.java | 20 +- .../kafka/KafkaMessageSchemaIdLocation.java | 20 ++ .../message/kafka/KafkaMessageBindingTest.kt | 12 +- .../json/2.0.0/model/asyncapi - extended.json | 180 +++++++++- .../model/channel/channelItem - extended.json | 45 ++- .../channel/message/message - extended.json | 45 ++- .../message/messageTrait - extended.json | 45 ++- .../operation with message - extended.json | 45 ++- .../components/components - extended.json | 135 +++++++- .../json/2.6.0/model/asyncapi - extended.json | 315 +++++++++++++++++- .../model/channel/channelItem - extended.json | 90 ++++- .../channel/message/message - extended.json | 45 ++- .../message/messageTrait - extended.json | 45 ++- .../operation with message - extended.json | 45 ++- ...eration with oneOf message - extended.json | 45 ++- .../components/components - extended.json | 225 ++++++++++++- .../kafka/kafkaMessageBinding - extended.json | 45 ++- 17 files changed, 1362 insertions(+), 40 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageSchemaIdLocation.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageBinding.java index 455cc905..e7728c9d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.message.kafka; import com.asyncapi.v2.binding.message.MessageBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -25,30 +28,35 @@ public class KafkaMessageBinding extends MessageBinding { /** - * TODO: Avro Schema * The message key. - * - * @see Schema object */ @Nullable - private Object key; + @JsonProperty("key") + @JsonPropertyDescription("The message key.") + private Schema key; /** * If a Schema Registry is used when performing this operation, tells where the id of schema is stored (e.g. header or payload). */ @Nullable - private String schemaIdLocation; + @JsonProperty("schemaIdLocation") + @JsonPropertyDescription("If a Schema Registry is used when performing this operation, tells where the id of schema is stored (e.g. header or payload).") + private KafkaMessageSchemaIdLocation schemaIdLocation; /** * Number of bytes or vendor specific values when schema id is encoded in payload (e.g confluent/ apicurio-legacy / apicurio-new). */ @Nullable + @JsonProperty("schemaIdPayloadEncoding") + @JsonPropertyDescription("Number of bytes or vendor specific values when schema id is encoded in payload (e.g confluent/ apicurio-legacy / apicurio-new).") private String schemaIdPayloadEncoding; /** * Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied. */ @Nullable + @JsonProperty("schemaLookupStrategy") + @JsonPropertyDescription("Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied.") private String schemaLookupStrategy; /** @@ -56,6 +64,8 @@ public class KafkaMessageBinding extends MessageBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.4.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageSchemaIdLocation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageSchemaIdLocation.java new file mode 100644 index 00000000..a413bf46 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/kafka/KafkaMessageSchemaIdLocation.java @@ -0,0 +1,20 @@ +package com.asyncapi.v2.binding.message.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Kafka message schema id location. + * + * @version 0.1.0 + * @see Kafka message binding + * @author Pavel Bodiachevskii + */ +public enum KafkaMessageSchemaIdLocation { + + @JsonProperty("header") + HEADER, + + @JsonProperty("payload") + PAYLOAD + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt index f1c5190f..d54e8f3b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.message.kafka import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type class KafkaMessageBindingTest: SerDeTest() { @@ -14,11 +16,11 @@ class KafkaMessageBindingTest: SerDeTest() { override fun build(): KafkaMessageBinding { return KafkaMessageBinding.builder() - .key(mapOf( - Pair("type", "string"), - Pair("enum", listOf("myKey")) - )) - .schemaIdLocation("payload") + .key(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myKey")) + .build()) + .schemaIdLocation(KafkaMessageSchemaIdLocation.PAYLOAD) .schemaIdPayloadEncoding("apicurio-new") .schemaLookupStrategy("TopicIdStrategy") .build() diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 28d23f5b..70b2135a 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -1753,8 +1753,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2790,8 +2833,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3663,8 +3749,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4352,8 +4481,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index fafd0afe..25816770 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -1657,8 +1657,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json index 8a4f7a28..380e43d9 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json @@ -532,8 +532,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json index b1b306bd..4b07b742 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json @@ -390,8 +390,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json index 335a1085..2e2e5a52 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json @@ -1091,8 +1091,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index a271bd70..0d8f9231 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -823,8 +823,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1696,8 +1739,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2385,8 +2471,51 @@ "jms" : { }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 5a211ae6..7a30e57f 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -1270,8 +1270,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2490,8 +2533,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4303,8 +4389,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5523,8 +5652,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -6322,8 +6494,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7264,8 +7479,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -8035,8 +8293,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index 3608d457..c352a4fc 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -1160,8 +1160,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2380,8 +2423,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json index fe8200b8..4d8872fd 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json @@ -537,8 +537,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json index fab6f0c1..90e1ddeb 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json @@ -395,8 +395,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json index 1a63136a..6c8ef4d1 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json @@ -1154,8 +1154,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json index 7fef448b..3d6bd371 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json @@ -1157,8 +1157,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index dab0e3ec..ba657615 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -1552,8 +1552,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2772,8 +2815,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3571,8 +3657,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4513,8 +4642,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5284,8 +5456,51 @@ }, "kafka" : { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json index 380a3d0c..8a8f68ce 100644 --- a/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json @@ -1,7 +1,50 @@ { "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "enum" : [ "myKey" ] + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", From a70ecfcae4ce6e2d4ac81f2f154388d59ace5acc Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 22:54:15 +0400 Subject: [PATCH 052/210] refactor: MQTTMessageBinding - Jackson annotations --- .../asyncapi/v2/binding/message/mqtt/MQTTMessageBinding.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBinding.java index 2e24ebfb..c08ece8f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBinding.java @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.message.mqtt; import com.asyncapi.v2.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -29,6 +31,8 @@ public class MQTTMessageBinding extends MessageBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } From 37d757a4a7a0b1e22f12f5c7b24fa7bb471ce47e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 23:28:02 +0400 Subject: [PATCH 053/210] refactor: MQTTOperationBinding - Jackson annotations --- .../binding/operation/mqtt/MQTTOperationBinding.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java index 9938a7a4..02dd2f34 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.mqtt; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,6 +25,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes MQTT operation binding.") public class MQTTOperationBinding extends OperationBinding { /** @@ -31,6 +35,8 @@ public class MQTTOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("qos") + @JsonPropertyDescription("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).") private Integer qos; /** @@ -39,6 +45,8 @@ public class MQTTOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @JsonProperty("retain") + @JsonPropertyDescription("Whether the broker should retain the message or not.") private Boolean retain; /** @@ -48,6 +56,8 @@ public class MQTTOperationBinding extends OperationBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } From 592c689eddf3d40703e566c7b4f928007c9d95c3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 23:30:31 +0400 Subject: [PATCH 054/210] refactor: MQTTOperationBinding - Validation API --- .../v2/binding/operation/mqtt/MQTTOperationBinding.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java index 02dd2f34..d76d9d86 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBinding.java @@ -35,6 +35,14 @@ public class MQTTOperationBinding extends OperationBinding { * Applies to: publish, subscribe */ @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "QoS must be greater or equals to 0." + ) + @javax.validation.constraints.Max( + value = 2, + message = "QoS must be lower or equals to 0." + ) @JsonProperty("qos") @JsonPropertyDescription("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).") private Integer qos; From 915724b466a012d557985300f08ae01aca9f805d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 19 Mar 2023 23:40:50 +0400 Subject: [PATCH 055/210] refactor: MQTTServerBinding - Validation API - Jackson annotations - properties extracted to own classes --- .../server/mqtt/MQTTServerBinding.java | 54 ++++++--------- .../mqtt/MQTTServerLastWillConfiguration.java | 65 +++++++++++++++++++ .../v2/_0_0/model/server/ServerTest.kt | 3 +- .../v2/_6_0/model/server/ServerTest.kt | 3 +- .../server/mqtt/MQTTServerBindingTest.kt | 2 +- 5 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerLastWillConfiguration.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerBinding.java index bf38fc3f..b60dacb7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerBinding.java @@ -1,12 +1,14 @@ package com.asyncapi.v2.binding.server.mqtt; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -23,66 +25,48 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes MQTT server binding.") public class MQTTServerBinding extends ServerBinding { /** * The client identifier. */ @Nullable + @JsonProperty("clientId") + @JsonPropertyDescription("The client identifier.") private String clientId; /** * Whether to create a persisten connection or not. When false, the connection will be persistent. */ - private boolean cleanSession; + @Nullable + @JsonProperty("cleanSession") + @JsonPropertyDescription("Whether to create a persisten connection or not. When false, the connection will be persistent.") + private Boolean cleanSession; /** * Last Will and Testament configuration. */ @Nullable - private LastWillConfiguration lastWill; + @JsonProperty("lastWill") + @JsonPropertyDescription("Last Will and Testament configuration.") + private MQTTServerLastWillConfiguration lastWill; /** * Interval in seconds of the longest period of time the broker and the client can endure without sending a message. */ - private int keepAlive; + @Nullable + @JsonProperty("keepAlive") + @JsonPropertyDescription("Interval in seconds of the longest period of time the broker and the client can endure without sending a message.") + private Integer keepAlive; /** * The version of this binding. If omitted, "latest" MUST be assumed. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; - @Data - @EqualsAndHashCode - @NoArgsConstructor - @AllArgsConstructor - public static class LastWillConfiguration { - - /** - * The topic where the Last Will and Testament message will be sent. - */ - @NotNull - private String topic; - - /** - * 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. - */ - private int qos; - - /** - * Last Will message. - */ - @Nullable - private String message; - - /** - * Whether the broker should retain the Last Will and Testament message or not. - */ - private boolean retain; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerLastWillConfiguration.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerLastWillConfiguration.java new file mode 100644 index 00000000..5accb133 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/mqtt/MQTTServerLastWillConfiguration.java @@ -0,0 +1,65 @@ +package com.asyncapi.v2.binding.server.mqtt; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes MQTT server last will configuration. + * + * @version 0.1.0 + * @see MQTT server binding + * @author Pavel Bodiachevskii + */ +@Data +@EqualsAndHashCode +@NoArgsConstructor +@AllArgsConstructor +public class MQTTServerLastWillConfiguration { + + /** + * The topic where the Last Will and Testament message will be sent. + */ + @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("The topic where the Last Will and Testament message will be sent.") + private String topic; + + /** + * 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. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "QoS must be greater or equals to 0." + ) + @javax.validation.constraints.Max( + value = 2, + message = "QoS must be lower or equals to 0." + ) + @JsonProperty("qos") + @JsonPropertyDescription("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.") + private Integer qos; + + /** + * Last Will message. + */ + @Nullable + @JsonProperty("message") + @JsonPropertyDescription("Last Will message.") + private String message; + + /** + * Whether the broker should retain the Last Will and Testament message or not. + */ + @Nullable + @JsonProperty("retain") + @JsonPropertyDescription("Whether the broker should retain the Last Will and Testament message or not.") + private Boolean retain; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt index 1af842bc..612bf7c0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt @@ -11,6 +11,7 @@ import com.asyncapi.v2.binding.server.jms.JMSServerBinding import com.asyncapi.v2.binding.server.kafka.KafkaServerBinding import com.asyncapi.v2.binding.server.mercure.MercureServerBinding import com.asyncapi.v2.binding.server.mqtt.MQTTServerBinding +import com.asyncapi.v2.binding.server.mqtt.MQTTServerLastWillConfiguration import com.asyncapi.v2.binding.server.mqtt5.MQTT5ServerBinding import com.asyncapi.v2.binding.server.nats.NATSServerBinding import com.asyncapi.v2.binding.server.pulsar.PulsarServerBinding @@ -86,7 +87,7 @@ class ServerTest: SerDeTest() { MQTTServerBinding.builder() .clientId("guest") .cleanSession(true) - .lastWill(MQTTServerBinding.LastWillConfiguration( + .lastWill(MQTTServerLastWillConfiguration( "/last-wills", 2, "Guest gone offline.", diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt index 551181d3..3af3a219 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt @@ -12,6 +12,7 @@ import com.asyncapi.v2.binding.server.jms.JMSServerBinding import com.asyncapi.v2.binding.server.kafka.KafkaServerBinding import com.asyncapi.v2.binding.server.mercure.MercureServerBinding import com.asyncapi.v2.binding.server.mqtt.MQTTServerBinding +import com.asyncapi.v2.binding.server.mqtt.MQTTServerLastWillConfiguration import com.asyncapi.v2.binding.server.mqtt5.MQTT5ServerBinding import com.asyncapi.v2.binding.server.nats.NATSServerBinding import com.asyncapi.v2.binding.server.pulsar.PulsarServerBinding @@ -93,7 +94,7 @@ class ServerTest: SerDeTest() { MQTTServerBinding.builder() .clientId("guest") .cleanSession(true) - .lastWill(MQTTServerBinding.LastWillConfiguration( + .lastWill(MQTTServerLastWillConfiguration( "/last-wills", 2, "Guest gone offline.", diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt index c7d27a19..4023b197 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt @@ -20,7 +20,7 @@ class MQTTServerBindingTest: SerDeTest() { return MQTTServerBinding.builder() .clientId("guest") .cleanSession(true) - .lastWill(MQTTServerBinding.LastWillConfiguration( + .lastWill(MQTTServerLastWillConfiguration( "/last-wills", 2, "Guest gone offline.", From deb6abbc07fb7d5a782e05c1f29668af76597fe4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 20 Mar 2023 00:07:42 +0400 Subject: [PATCH 056/210] refactor: NATSOperationBinding - Validation API - Jackson annotations --- .../binding/operation/nats/NATSOperationBinding.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/nats/NATSOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/nats/NATSOperationBinding.java index 4ee0ea3b..6a82e9e6 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/nats/NATSOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/nats/NATSOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.nats; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,12 +23,19 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes NATS operation binding.") public class NATSOperationBinding extends OperationBinding { /** * Defines the name of the queue to use. It MUST NOT exceed 255 characters. */ @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Queue name must be lower or equals to 255." + ) + @JsonProperty("queue") + @JsonPropertyDescription("Defines the name of the queue to use. It MUST NOT exceed 255 characters.") private String queue; /** @@ -33,6 +43,8 @@ public class NATSOperationBinding extends OperationBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } From 18a75f04a90c3809b372a5ce9eefef42cac26ab1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 00:27:16 +0400 Subject: [PATCH 057/210] refactor: PulsarChannelBinding - Validation API - Jackson annotations - properties extracted to own classes --- .../channel/pulsar/PulsarChannelBinding.java | 58 +++++++++---------- .../pulsar/PulsarChannelPersistence.java | 22 +++++++ .../PulsarChannelRetentionDefinition.java | 48 +++++++++++++++ .../pulsar/PulsarChannelBindingTest.kt | 4 +- .../json/2.0.0/model/asyncapi - extended.json | 8 +-- .../model/channel/channelItem - extended.json | 4 +- .../components/components - extended.json | 4 +- .../json/2.6.0/model/asyncapi - extended.json | 12 ++-- .../model/channel/channelItem - extended.json | 4 +- .../components/components - extended.json | 8 +-- .../pulsarChannelBinding - extended.json | 2 +- 11 files changed, 122 insertions(+), 52 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelPersistence.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelRetentionDefinition.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBinding.java index 9bbae92f..8c2e314b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBinding.java @@ -1,7 +1,9 @@ package com.asyncapi.v2.binding.channel.pulsar; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,24 +26,39 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Pulsar channel binding.") public class PulsarChannelBinding extends ChannelBinding { /** * The namespace the channel is associated with. */ @NotNull - private String namespace; + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty("namespace") + @JsonPropertyDescription("The namespace the channel is associated with.") + private String namespace = ""; /** * Persistence of the topic in Pulsar. It MUST be either persistent or non-persistent. */ @NotNull - private String persistence; + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "persistence", defaultValue = "persistent") + @JsonPropertyDescription("Persistence of the topic in Pulsar. It MUST be either persistent or non-persistent.") + private PulsarChannelPersistence persistence = PulsarChannelPersistence.PERSISTENT; /** * Topic compaction threshold given in Megabytes. */ @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "Topic compaction threshold must be greater or equals to 0." + ) + @JsonProperty("compaction") + @JsonPropertyDescription("Topic compaction threshold given in Megabytes.") private Integer compaction; /** @@ -49,24 +66,31 @@ public class PulsarChannelBinding extends ChannelBinding { */ @Nullable @JsonProperty("geo-replication") + @JsonPropertyDescription("A list of clusters the topic is replicated to.") private List geoReplication; /** * Topic retention policy. */ @Nullable - private RetentionDefinition retention; + @JsonProperty("retention") + @JsonPropertyDescription("Topic retention policy.") + private PulsarChannelRetentionDefinition retention; /** * Message time-to-live in seconds. */ @Nullable + @JsonProperty("ttl") + @JsonPropertyDescription("Message time-to-live in seconds.") private Integer ttl; /** * Message deduplication. When true, it ensures that each message produced on Pulsar topics is persisted to disk only once. */ @Nullable + @JsonProperty("deduplication") + @JsonPropertyDescription("Message deduplication. When true, it ensures that each message produced on Pulsar topics is persisted to disk only once.") private Boolean deduplication; /** @@ -74,32 +98,8 @@ public class PulsarChannelBinding extends ChannelBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; - /** - * The Retention Definition Object is used to describe the Pulsar Retention policy. - */ - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - @EqualsAndHashCode - public static class RetentionDefinition { - - /** - * Time given in Minutes. - */ - @Nullable - @Builder.Default - private Integer time = 0; - - /** - * Size given in MegaBytes. - */ - @Nullable - @Builder.Default - private Integer size = 0; - - } - } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelPersistence.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelPersistence.java new file mode 100644 index 00000000..14cf634d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelPersistence.java @@ -0,0 +1,22 @@ +package com.asyncapi.v2.binding.channel.pulsar; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Pulsar channel persistence. + * + * @version 0.1.0 + * @see Pulsar channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Pulsar channel persistence.") +public enum PulsarChannelPersistence { + + @JsonProperty("persistent") + PERSISTENT, + + @JsonProperty("non-persistent") + NON_PERSISTENT + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelRetentionDefinition.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelRetentionDefinition.java new file mode 100644 index 00000000..9a23fd29 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelRetentionDefinition.java @@ -0,0 +1,48 @@ +package com.asyncapi.v2.binding.channel.pulsar; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Pulsar channel retention definition. + *

                            + * The Retention Definition Object is used to describe the Pulsar Retention policy. + * + * @version 0.1.0 + * @see Pulsar channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes Pulsar channel retention definition.") +public class PulsarChannelRetentionDefinition { + + /** + * Time given in Minutes. + */ + @Nullable + @Builder.Default + @JsonProperty("time") + @JsonPropertyDescription("Time given in Minutes.") + private Integer time = 0; + + /** + * Size given in MegaBytes. + */ + @Nullable + @Builder.Default + @JsonProperty("size") + @JsonPropertyDescription("Size given in MegaBytes.") + private Integer size = 0; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt index f9cf428f..9b502808 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt @@ -15,10 +15,10 @@ class PulsarChannelBindingTest: SerDeTest() { override fun build(): PulsarChannelBinding { return PulsarChannelBinding.builder() .namespace("staging") - .persistence("persistent") + .persistence(PulsarChannelPersistence.PERSISTENT) .compaction(1000) .geoReplication(listOf("us-east1", "us-west1")) - .retention(PulsarChannelBinding.RetentionDefinition.builder() + .retention(PulsarChannelRetentionDefinition.builder() .time(7) .size(1000) .build() diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 70b2135a..90a27e0a 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -1969,14 +1969,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { }, "sns" : { }, @@ -3960,14 +3960,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { }, "sns" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index 25816770..d5e79487 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -1873,14 +1873,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { }, "sns" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index 0d8f9231..39e539da 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -1950,14 +1950,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { }, "sns" : { }, diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 7a30e57f..20cc0f5d 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -2785,14 +2785,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" @@ -5904,14 +5904,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" @@ -7732,14 +7732,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index c352a4fc..db6cadd4 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -2675,14 +2675,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index ba657615..0d040f6e 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -3067,14 +3067,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" @@ -4895,14 +4895,14 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 }, "ttl" : 360, "deduplication" : false, - "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ] + "bindingVersion" : "0.1.0" }, "redis" : { "$ref" : "#/components/channelBindings/redis" diff --git a/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json index e00d0444..17b32f84 100644 --- a/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json @@ -2,6 +2,7 @@ "namespace" : "staging", "persistence" : "persistent", "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], "retention" : { "time" : 7, "size" : 1000 @@ -9,7 +10,6 @@ "ttl" : 360, "deduplication" : false, "bindingVersion" : "0.1.0", - "geo-replication" : [ "us-east1", "us-west1" ], "x-number" : 0, "x-string" : "", "x-object" : { From d0f35205ae8fdf6ddecd806aaaf06e44b04e6234 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 00:40:58 +0400 Subject: [PATCH 058/210] refactor: PulsarServerBinding - Jackson annotations --- .../v2/binding/server/pulsar/PulsarServerBinding.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/pulsar/PulsarServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/pulsar/PulsarServerBinding.java index 29e3db6d..1e6edea8 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/pulsar/PulsarServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/pulsar/PulsarServerBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.server.pulsar; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,6 +23,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Pulsar server binding.") public class PulsarServerBinding extends ServerBinding { /** @@ -27,6 +31,8 @@ public class PulsarServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty(value = "tenant", defaultValue = "public") + @JsonPropertyDescription("The pulsar tenant. If omitted, \"public\" MUST be assumed.") private String tenant = "public"; /** @@ -34,6 +40,8 @@ public class PulsarServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } From 751cb302403e433dbee418622bc2d4430f15dc78 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 01:06:31 +0400 Subject: [PATCH 059/210] refactor: SolaceOperationBinding - Jackson annotations - Were renamed classes --- .../solace/SolaceOperationBinding.java | 14 +++++++--- ...n.java => SolaceOperationDestination.java} | 27 +++++++++++++------ ...ceQueue.java => SolaceOperationQueue.java} | 15 ++++++++++- ...ceTopic.java => SolaceOperationTopic.java} | 8 +++++- .../solace/SolaceOperationBindingTest.kt | 20 +++++++------- 5 files changed, 60 insertions(+), 24 deletions(-) rename asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/{SolaceDestination.java => SolaceOperationDestination.java} (55%) rename asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/{SolaceQueue.java => SolaceOperationQueue.java} (60%) rename asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/{SolaceTopic.java => SolaceOperationTopic.java} (62%) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationBinding.java index c206866c..ff0a4ef7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.operation.solace; import com.asyncapi.v2.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -8,7 +11,6 @@ import lombok.NoArgsConstructor; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; import java.util.List; /** @@ -25,20 +27,24 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Solace operation binding.") public class SolaceOperationBinding extends OperationBinding { /** * List of destinations */ @Nullable - @Builder.Default - private List destinations = new ArrayList<>(); + @JsonProperty("destinations") + @JsonPropertyDescription("List of destinations") + private List destinations; /** - * Version of the binding object (e.g. bindingVersion: 0.3.0) + * The version of this binding. (e.g. bindingVersion: 0.3.0) */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.3.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceDestination.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationDestination.java similarity index 55% rename from asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceDestination.java rename to asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationDestination.java index b4f67d02..fb3b075e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceDestination.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/SolaceOperationDestination.java @@ -1,8 +1,10 @@ package com.asyncapi.v2.binding.operation.solace; -import com.asyncapi.v2.binding.operation.solace.queue.SolaceQueue; -import com.asyncapi.v2.binding.operation.solace.topic.SolaceTopic; +import com.asyncapi.v2.binding.operation.solace.queue.SolaceOperationQueue; +import com.asyncapi.v2.binding.operation.solace.topic.SolaceOperationTopic; +import com.fasterxml.jackson.annotation.JsonClassDescription; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,13 +24,16 @@ @Builder @NoArgsConstructor @AllArgsConstructor -public class SolaceDestination { +@JsonClassDescription("Describes Solace destination.") +public class SolaceOperationDestination { /** * 'queue' or 'topic'. If the type is queue, then the subscriber can bind to the queue, which in turn will * subscribe to the topic as represented by the channel name or to the provided topicSubscriptions. */ @Nullable + @JsonProperty("destinationType") + @JsonPropertyDescription("'queue' or 'topic'. If the type is queue, then the subscriber can bind to the queue, which in turn will subscribe to the topic as represented by the channel name or to the provided topicSubscriptions.") private Type destinationType; /** @@ -37,26 +42,32 @@ public class SolaceDestination { */ @Nullable @Builder.Default + @JsonProperty(value = "deliveryMode", defaultValue = "persistent") + @JsonPropertyDescription("'direct' or 'persistent'. This determines the quality of service for publishing messages as documented at https://docs.solace.com/Get-Started/Core-Concepts-Message-Delivery-Modes.htm. Default is 'persistent'.") private DeliveryMode deliveryMode = DeliveryMode.PERSISTENT; /** * Solace queue destination details. */ @Nullable - private SolaceQueue queue; + @JsonProperty("queue") + @JsonPropertyDescription("Solace queue destination details.") + private SolaceOperationQueue queue; /** - * Solace topic destination details + * Solace topic destination details. */ @Nullable - private SolaceTopic topic; + @JsonProperty("topic") + @JsonPropertyDescription("Solace topic destination details.") + private SolaceOperationTopic topic; public enum Type { @JsonProperty("queue") QUEUE, @JsonProperty("topic") - TOPIC; + TOPIC } @@ -65,7 +76,7 @@ public enum DeliveryMode { @JsonProperty("direct") DIRECT, @JsonProperty("persistent") - PERSISTENT; + PERSISTENT } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceQueue.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java similarity index 60% rename from asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceQueue.java rename to asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java index ff33a4e9..93015cfc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceQueue.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.operation.solace.queue; +import com.fasterxml.jackson.annotation.JsonClassDescription; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,12 +24,15 @@ @Builder @NoArgsConstructor @AllArgsConstructor -public class SolaceQueue { +@JsonClassDescription("Describes Solace queue.") +public class SolaceOperationQueue { /** * The name of the queue, only applicable when destinationType is 'queue'. */ @Nullable + @JsonProperty("name") + @JsonPropertyDescription("The name of the queue, only applicable when destinationType is 'queue'.") private String name; /** @@ -35,12 +40,16 @@ public class SolaceQueue { * If none is given, the queue subscribes to the topic as represented by the channel name. */ @Nullable + @JsonProperty("topicSubscriptions") + @JsonPropertyDescription("A list of topics that the queue subscribes to, only applicable when destinationType is 'queue'. If none is given, the queue subscribes to the topic as represented by the channel name.") private List topicSubscriptions; /** * 'exclusive' or 'nonexclusive'. This is documented here. Only applicable when destinationType is 'queue'. */ @Nullable + @JsonProperty("accessType") + @JsonPropertyDescription("'exclusive' or 'nonexclusive'. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Endpoints.htm#Queues. Only applicable when destinationType is 'queue'.") private AccessType accessType; /** @@ -48,6 +57,8 @@ public class SolaceQueue { * Only applicable when destinationType is 'queue'. */ @Nullable + @JsonProperty("maxMsgSpoolSize") + @JsonPropertyDescription("The maximum amount of message spool that the given queue may use. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Message-Spooling.htm#max-spool-usage. Only applicable when destinationType is 'queue'.") private String maxMsgSpoolSize; /** @@ -55,6 +66,8 @@ public class SolaceQueue { * Only applicable when destinationType is 'queue'. */ @Nullable + @JsonProperty("maxTtl") + @JsonPropertyDescription("The maximum TTL to apply to messages to be spooled. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Configuring-Queues.htm. Only applicable when destinationType is 'queue'.") private String maxTtl; public enum AccessType { diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceTopic.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceOperationTopic.java similarity index 62% rename from asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceTopic.java rename to asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceOperationTopic.java index 69b316ac..bdf54d6d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceTopic.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/topic/SolaceOperationTopic.java @@ -1,5 +1,8 @@ package com.asyncapi.v2.binding.operation.solace.topic; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -21,13 +24,16 @@ @Builder @NoArgsConstructor @AllArgsConstructor -public class SolaceTopic { +@JsonClassDescription("Describes Solace topic.") +public class SolaceOperationTopic { /** * A list of topics that the client subscribes to, only applicable when destinationType is 'topic'. * If none is given, the client subscribes to the topic as represented by the channel name. */ @Nullable + @JsonProperty("topicSubscriptions") + @JsonPropertyDescription("A list of topics that the client subscribes to, only applicable when destinationType is 'topic'. If none is given, the client subscribes to the topic as represented by the channel name.") protected List topicSubscriptions; } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt index ce2255d2..f3afbf45 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt @@ -1,8 +1,8 @@ package com.asyncapi.v2.binding.operation.solace import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2.binding.operation.solace.queue.SolaceQueue -import com.asyncapi.v2.binding.operation.solace.topic.SolaceTopic +import com.asyncapi.v2.binding.operation.solace.queue.SolaceOperationQueue +import com.asyncapi.v2.binding.operation.solace.topic.SolaceOperationTopic class SolaceOperationBindingTest: SerDeTest() { @@ -17,25 +17,25 @@ class SolaceOperationBindingTest: SerDeTest() { override fun build(): SolaceOperationBinding { return SolaceOperationBinding.builder() .destinations(listOf( - SolaceDestination.builder() - .destinationType(SolaceDestination.Type.QUEUE) - .queue(SolaceQueue.builder() + SolaceOperationDestination.builder() + .destinationType(SolaceOperationDestination.Type.QUEUE) + .queue(SolaceOperationQueue.builder() .name("CreatedHREvents") .topicSubscriptions(listOf("person/*/created")) - .accessType(SolaceQueue.AccessType.EXCLUSIVE) + .accessType(SolaceOperationQueue.AccessType.EXCLUSIVE) .maxMsgSpoolSize("1,500") .maxTtl("60") .build() ) .build(), - SolaceDestination.builder() - .destinationType(SolaceDestination.Type.QUEUE) - .queue(SolaceQueue.builder() + SolaceOperationDestination.builder() + .destinationType(SolaceOperationDestination.Type.QUEUE) + .queue(SolaceOperationQueue.builder() .name("UpdatedHREvents") .topicSubscriptions(listOf("person/*/updated")) .build() ) - .topic(SolaceTopic.builder() + .topic(SolaceOperationTopic.builder() .topicSubscriptions(listOf("person/*/updated")) .build() ) From b7d81349b92bf5c2ea36cea40805c6091b3af216 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 01:09:01 +0400 Subject: [PATCH 060/210] refactor: SolaceServerBinding - Jackson annotations --- .../v2/binding/server/solace/SolaceServerBinding.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/solace/SolaceServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/solace/SolaceServerBinding.java index 00641525..a8b1467a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/solace/SolaceServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/server/solace/SolaceServerBinding.java @@ -1,6 +1,9 @@ package com.asyncapi.v2.binding.server.solace; import com.asyncapi.v2.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,6 +23,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Solace server binding.") public class SolaceServerBinding extends ServerBinding { /** @@ -28,6 +32,8 @@ public class SolaceServerBinding extends ServerBinding { * e.g. msgVpn: solace-broker-msg-vpn */ @Nullable + @JsonProperty("msgVpn") + @JsonPropertyDescription("Message VPN of the Solace Broker") private String msgVpn; /** @@ -35,6 +41,8 @@ public class SolaceServerBinding extends ServerBinding { */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.3.0"; } From 1b4d99502d7b564d6a2084e458a724a598b2c6c0 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 01:34:07 +0400 Subject: [PATCH 061/210] refactor: WebSocketsChannelBinding - Jackson annotations - query now is Schema instead of Object - headers now is Schema instead of Object --- .../channel/ws/WebSocketsChannelBinding.java | 25 +- .../channel/ws/WebSocketsChannelMethod.java | 13 + .../ws/WebSocketsChannelBindingTest.kt | 48 +- .../json/2.0.0/model/asyncapi - extended.json | 360 ++++++++- .../model/channel/channelItem - extended.json | 180 ++++- .../components/components - extended.json | 180 ++++- .../json/2.6.0/model/asyncapi - extended.json | 692 +++++++++++++++--- .../model/channel/channelItem - extended.json | 180 ++++- .../components/components - extended.json | 360 ++++++++- .../webSocketsChannelBinding - extended.json | 180 ++++- 10 files changed, 2070 insertions(+), 148 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelMethod.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBinding.java index 4a1d7ae2..4d8c66d7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBinding.java @@ -1,6 +1,10 @@ package com.asyncapi.v2.binding.channel.ws; import com.asyncapi.v2.binding.channel.ChannelBinding; +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -25,39 +29,42 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes WebSockets channel binding.") public class WebSocketsChannelBinding extends ChannelBinding { /** * The HTTP method to use when establishing the connection. Its value MUST be either GET or POST. */ @Nullable - private String method; + @JsonProperty("method") + @JsonPropertyDescription("The HTTP method to use when establishing the connection. Its value MUST be either GET or POST.") + private WebSocketsChannelMethod method; /** - * TODO: Schema object * A Schema object containing the definitions for each query parameter. This schema MUST be of type * object and have a properties key. - * - * @see Schema object */ @Nullable - private Object query; + @JsonProperty("query") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema query; /** - * TODO: Schema object * A Schema object containing the definitions of the HTTP headers to use when establishing the connection. * This schema MUST be of type object and have a properties key. - * - * @see Schema object */ @Nullable - private Object headers; + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type object and have a properties key.") + private Schema headers; /** * The version of this binding. If omitted, "latest" MUST be assumed. */ @Nullable @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") private String bindingVersion = "0.1.0"; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelMethod.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelMethod.java new file mode 100644 index 00000000..cdee8595 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelMethod.java @@ -0,0 +1,13 @@ +package com.asyncapi.v2.binding.channel.ws; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum WebSocketsChannelMethod { + + @JsonProperty("GET") + GET, + + @JsonProperty("POST") + POST + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt index 6f47746c..6588029c 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt @@ -1,6 +1,8 @@ package com.asyncapi.v2.binding.channel.ws import com.asyncapi.v2.SerDeTest +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.schema.Type /** * @version 2.6.0 @@ -18,25 +20,33 @@ class WebSocketsChannelBindingTest: SerDeTest() { override fun build(): WebSocketsChannelBinding { return WebSocketsChannelBinding.builder() - .method("GET") - .query(mapOf( - Pair("type", "object"), - Pair("properties", mapOf( - Pair("ref", mapOf( - Pair("type", "string"), - Pair("description", "Referral.") - )) - )), - )) - .headers(mapOf( - Pair("type", "object"), - Pair("properties", mapOf( - Pair("Authentication", mapOf( - Pair("type", "string"), - Pair("description", "Authentication token") - )) - )), - )) + .method(WebSocketsChannelMethod.GET) + .query(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "ref", + Schema.builder() + .type(Type.STRING) + .description("Referral.") + .build() + ) + )) + .build() + ) + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "Authentication", + Schema.builder() + .type(Type.STRING) + .description("Authentication token") + .build() + ) + )) + .build() + ) .build() } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json index 90a27e0a..53b98080 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json @@ -1986,22 +1986,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } @@ -3977,22 +4149,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json index d5e79487..0ea9e98e 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json @@ -1890,22 +1890,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json index 39e539da..10f34a1d 100644 --- a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json @@ -1967,22 +1967,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json index 20cc0f5d..fa6bf58a 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json @@ -2812,22 +2812,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } @@ -5931,68 +6103,14 @@ "ws" : { "method" : "GET", "query" : { - "type" : "object", - "properties" : { - "ref" : { - "type" : "string", - "description" : "Referral." - } - } - }, - "headers" : { - "type" : "object", - "properties" : { - "Authentication" : { - "type" : "string", - "description" : "Authentication token" - } - } - }, - "bindingVersion" : "0.1.0" - } - }, - "$ref" : null - } - }, - "messages" : { - "userSignup" : { - "messageId" : "userSignup", - "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : { - "correlationId" : { "title" : null, - "description" : "Correlation ID set by application", + "description" : null, "readOnly" : null, "writeOnly" : null, "examples" : null, "contentEncoding" : null, "contentMediaType" : null, - "type" : "string", + "type" : "object", "multipleOf" : null, "maximum" : null, "exclusiveMaximum" : null, @@ -6010,30 +6128,256 @@ "maxProperties" : null, "minProperties" : null, "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null - }, - "applicationInstanceId" : { - "title" : null, - "description" : "Unique identifier for a given instance of the publishing application", + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "$ref" : null + } + }, + "messages" : { + "userSignup" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", "readOnly" : null, "writeOnly" : null, "examples" : null, @@ -7759,22 +8103,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json index db6cadd4..b63a038c 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json @@ -2702,22 +2702,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json index 0d040f6e..7477382f 100644 --- a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json @@ -3094,22 +3094,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } @@ -4922,22 +5094,194 @@ "ws" : { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json index cc6e6930..022ca87a 100644 --- a/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json @@ -1,22 +1,194 @@ { "method" : "GET", "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Referral." + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, "properties" : { "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, "type" : "string", - "description" : "Authentication token" + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null } - } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null }, "bindingVersion" : "0.1.0", "x-number" : 0, From dd2f5b2f9db34d47f899aa41ab728d9521af6e43 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 02:42:07 +0400 Subject: [PATCH 062/210] refactor: common Reference for 2.0.0, 2.6.0 --- .../v2/{_6_0/model => }/Reference.java | 4 +- .../ChannelParametersDeserializer.java | 2 +- .../MessageCorrelationIdDeserializer.java | 2 +- .../message/MessageHeadersDeserializer.java | 2 +- .../message/MessageTraitsDeserializer.java | 2 +- .../OperationMessageDeserializer.java | 2 +- .../OperationTraitsDeserializer.java | 2 +- .../ComponentsMessagesDeserializer.java | 2 +- .../ComponentsParametersDeserializer.java | 2 +- .../ComponentsSchemasDeserializer.java | 2 +- ...ComponentsSecuritySchemesDeserializer.java | 2 +- .../com/asyncapi/v2/_0_0/model/Reference.java | 38 ------------------- .../v2/_0_0/model/channel/ChannelItem.java | 2 +- .../_0_0/model/channel/message/Message.java | 2 +- .../model/channel/message/MessageTrait.java | 2 +- .../model/channel/operation/Operation.java | 2 +- .../v2/_0_0/model/component/Components.java | 2 +- .../ChannelParametersDeserializer.java | 2 +- .../MessageCorrelationIdDeserializer.java | 2 +- .../message/MessageHeadersDeserializer.java | 2 +- .../message/MessageTraitsDeserializer.java | 2 +- .../channel/message/MessagesDeserializer.java | 2 +- .../OperationMessageDeserializer.java | 2 +- .../OperationTraitsDeserializer.java | 2 +- .../ComponentsCorrelationIdsDeserializer.java | 2 +- .../ComponentsMessageTraitsDeserializer.java | 2 +- .../ComponentsMessagesDeserializer.java | 2 +- ...ComponentsOperationTraitsDeserializer.java | 2 +- .../ComponentsParametersDeserializer.java | 2 +- .../ComponentsSchemasDeserializer.java | 2 +- ...ComponentsSecuritySchemesDeserializer.java | 2 +- ...ComponentsServerVariablesDeserializer.java | 2 +- .../ComponentsServersDeserializer.java | 2 +- .../model/schema/SchemaDeserializer.java | 2 +- .../server/ServerVariablesDeserializer.java | 2 +- .../model/server/ServersDeserializer.java | 2 +- .../channel/ChannelBindingsDeserializer.java | 2 +- .../message/MessageBindingsDeserializer.java | 2 +- .../OperationBindingsDeserializer.java | 2 +- .../server/ServerBindingsDeserializer.java | 2 +- .../asyncapi/v2/_0_0/model/ReferenceTest.kt | 1 + .../_0_0/model/channel/message/MessageTest.kt | 2 +- .../model/channel/operation/OperationTest.kt | 2 +- .../v2/_0_0/model/component/ComponentsTest.kt | 2 +- .../asyncapi/v2/_6_0/model/AsyncAPITest.kt | 1 + .../asyncapi/v2/_6_0/model/ReferenceTest.kt | 1 + .../v2/_6_0/model/channel/ChannelItemTest.kt | 2 +- .../v2/_6_0/model/channel/ParameterTest.kt | 2 +- .../_6_0/model/channel/message/MessageTest.kt | 2 +- .../model/channel/message/MessageTraitTest.kt | 2 +- .../channel/message/OneOfMessagesTest.kt | 2 +- .../model/channel/operation/OperationTest.kt | 2 +- .../channel/operation/OperationTraitTest.kt | 2 +- .../v2/_6_0/model/component/ComponentsTest.kt | 2 +- .../v2/_6_0/model/server/ServerTest.kt | 2 +- 55 files changed, 54 insertions(+), 91 deletions(-) rename asyncapi-core/src/main/java/com/asyncapi/v2/{_6_0/model => }/Reference.java (94%) delete mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v2/Reference.java similarity index 94% rename from asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java rename to asyncapi-core/src/main/java/com/asyncapi/v2/Reference.java index cc481a43..d7b447b2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/Reference.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/Reference.java @@ -1,9 +1,8 @@ -package com.asyncapi.v2._6_0.model; +package com.asyncapi.v2; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.jetbrains.annotations.NotNull; @@ -23,7 +22,6 @@ * @author Pavel Bodiachevskii */ @Data -@EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor public class Reference { diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/ChannelParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/ChannelParametersDeserializer.java index b568deac..c702a0ca 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/ChannelParametersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/ChannelParametersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.Parameter; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java index eef11f8c..b5dbd0ff 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel.message; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.message.CorrelationId; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java index ede8eeb3..e7b62788 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel.message; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java index 5d54e6cb..e80a6148 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel.message; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.message.MessageTrait; import com.asyncapi.v2.jackson.ListOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationMessageDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationMessageDeserializer.java index cf118584..8f59c963 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationMessageDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationMessageDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel.operation; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.message.Message; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationTraitsDeserializer.java index 024d0883..185e271f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/channel/operation/OperationTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.channel.operation; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.operation.OperationTrait; import com.asyncapi.v2.jackson.ListOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java index b171ff8e..06783ee3 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.component; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.message.Message; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsParametersDeserializer.java index acc7407b..1471ce0c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsParametersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsParametersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.component; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.Parameter; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java index 3fcd691e..168d7dd1 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.component; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java index 6ae2323f..91c7d16e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._0_0.jackson.model.component; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; import com.asyncapi.v2.security_scheme.SecurityScheme; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java deleted file mode 100644 index 13208b65..00000000 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/Reference.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.asyncapi.v2._0_0.model; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.jetbrains.annotations.NotNull; - -/** - * A simple object to allow referencing other components in the specification, internally and externally. - *

                            - * The Reference Object is defined by JSON Reference and follows the same structure, behavior and rules. - * A JSON Reference SHALL only be used to refer to a schema that is formatted in either JSON or YAML. - * In the case of a YAML-formatted Schema, the JSON Reference SHALL be applied to the JSON representation of - * that schema. The JSON representation SHALL be made by applying the conversion described here. - *

                            - * For this specification, reference resolution is done as defined by the JSON Reference specification and not by - * the JSON Schema specification. - * - * @version 2.0.0 - * @see Reference - * @author Pavel Bodiachevskii - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class Reference { - - /** - * Required. - *

                            - * The reference string. - */ - @NotNull - @JsonProperty(value = "$ref") - private String ref = ""; - -} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java index 470eb6ca..369c4980 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/ChannelItem.java @@ -2,7 +2,7 @@ import com.asyncapi.v2.ExtendableObject; import com.asyncapi.v2._0_0.jackson.model.channel.ChannelParametersDeserializer; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.operation.Operation; import com.asyncapi.v2.binding.channel.ChannelBinding; import com.asyncapi.v2.jackson.binding.channel.ChannelBindingsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java index da1a100f..7f68d20b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/Message.java @@ -6,7 +6,7 @@ import com.asyncapi.v2._0_0.jackson.model.channel.message.MessagePayloadDeserializer; import com.asyncapi.v2._0_0.jackson.model.channel.message.MessageTraitsDeserializer; import com.asyncapi.v2._0_0.model.ExternalDocumentation; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.Tag; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.binding.message.MessageBinding; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java index c012442e..a762936a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/message/MessageTrait.java @@ -4,7 +4,7 @@ import com.asyncapi.v2._0_0.jackson.model.channel.message.MessageCorrelationIdDeserializer; import com.asyncapi.v2._0_0.jackson.model.channel.message.MessageHeadersDeserializer; import com.asyncapi.v2._0_0.model.ExternalDocumentation; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.Tag; import com.asyncapi.v2._0_0.model.channel.operation.OperationTrait; import com.asyncapi.v2.schema.Schema; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java index e13932b0..1a243f9d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/channel/operation/Operation.java @@ -4,7 +4,7 @@ import com.asyncapi.v2._0_0.jackson.model.channel.operation.OperationMessageDeserializer; import com.asyncapi.v2._0_0.jackson.model.channel.operation.OperationTraitsDeserializer; import com.asyncapi.v2._0_0.model.ExternalDocumentation; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.Tag; import com.asyncapi.v2._0_0.model.channel.message.Message; import com.asyncapi.v2.binding.operation.OperationBinding; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java index 75a9c3d9..c6f4660d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/component/Components.java @@ -5,7 +5,7 @@ import com.asyncapi.v2._0_0.jackson.model.component.ComponentsParametersDeserializer; import com.asyncapi.v2._0_0.jackson.model.component.ComponentsSchemasDeserializer; import com.asyncapi.v2._0_0.jackson.model.component.ComponentsSecuritySchemesDeserializer; -import com.asyncapi.v2._0_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._0_0.model.channel.Parameter; import com.asyncapi.v2._0_0.model.channel.message.CorrelationId; import com.asyncapi.v2._0_0.model.channel.message.Message; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/ChannelParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/ChannelParametersDeserializer.java index 92f9efb7..9bdc2bad 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/ChannelParametersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/ChannelParametersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.Parameter; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java index c0504a4f..03003e13 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.message; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.CorrelationId; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageHeadersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageHeadersDeserializer.java index 900a3029..0fa2e91a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageHeadersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageHeadersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.message; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageTraitsDeserializer.java index ce9c94ba..14099ba2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessageTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.message; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.MessageTrait; import com.asyncapi.v2.jackson.ListOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessagesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessagesDeserializer.java index 491c423c..12643960 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessagesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/message/MessagesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.message; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.Message; import com.asyncapi.v2.jackson.ListOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationMessageDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationMessageDeserializer.java index 1bcfc2c0..cccadb79 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationMessageDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationMessageDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.operation; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.Message; import com.asyncapi.v2._6_0.model.channel.message.OneOfMessages; import com.fasterxml.jackson.core.JsonParser; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationTraitsDeserializer.java index 4380dd69..73df461f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/channel/operation/OperationTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.channel.operation; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.operation.OperationTrait; import com.asyncapi.v2.jackson.ListOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java index 61e64fd1..8a371a57 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.CorrelationId; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java index 565cfb96..4b74a8f7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.MessageTrait; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessagesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessagesDeserializer.java index 1458b780..17e779e2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessagesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsMessagesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.message.Message; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java index 62d33c6d..f9f33397 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.operation.OperationTrait; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsParametersDeserializer.java index e3f573de..e11cc46f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsParametersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsParametersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.channel.Parameter; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSchemasDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSchemasDeserializer.java index 8c0fcd96..d6dd235c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSchemasDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSchemasDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java index ff674c0e..8b045902 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; import com.asyncapi.v2.security_scheme.SecurityScheme; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServerVariablesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServerVariablesDeserializer.java index 1919c12e..1b056b6f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServerVariablesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServerVariablesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.server.ServerVariable; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServersDeserializer.java index 606aa5e3..b7a7c2fc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/component/ComponentsServersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.component; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.server.Server; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/schema/SchemaDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/schema/SchemaDeserializer.java index f4c30c52..81940260 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/schema/SchemaDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/schema/SchemaDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.schema; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.schema.Schema; import com.asyncapi.v2.jackson.ReferenceOrObjectDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServerVariablesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServerVariablesDeserializer.java index 2f45dd75..9611dfad 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServerVariablesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServerVariablesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.server; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.server.ServerVariable; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServersDeserializer.java index 8be7037e..17053961 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServersDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/jackson/model/server/ServersDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2._6_0.jackson.model.server; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2._6_0.model.server.Server; import com.asyncapi.v2.jackson.MapOfReferencesOrObjectsDeserializer; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/channel/ChannelBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/channel/ChannelBindingsDeserializer.java index 8ae56749..0ed343fa 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/channel/ChannelBindingsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/channel/ChannelBindingsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2.jackson.binding.channel; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.binding.channel.amqp.AMQPChannelBinding; import com.asyncapi.v2.binding.channel.amqp1.AMQP1ChannelBinding; import com.asyncapi.v2.binding.channel.anypointmq.AnypointMQChannelBinding; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/message/MessageBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/message/MessageBindingsDeserializer.java index 1c26dc4b..991d2a06 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/message/MessageBindingsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/message/MessageBindingsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2.jackson.binding.message; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.binding.message.amqp.AMQPMessageBinding; import com.asyncapi.v2.binding.message.amqp1.AMQP1MessageBinding; import com.asyncapi.v2.binding.message.anypointmq.AnypointMQMessageBinding; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/operation/OperationBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/operation/OperationBindingsDeserializer.java index aa059747..47392755 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/operation/OperationBindingsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/operation/OperationBindingsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2.jackson.binding.operation; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.binding.operation.amqp.AMQPOperationBinding; import com.asyncapi.v2.binding.operation.amqp1.AMQP1OperationBinding; import com.asyncapi.v2.binding.operation.anypointmq.AnypointMQOperationBinding; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/server/ServerBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/server/ServerBindingsDeserializer.java index 7f0b4727..a896051d 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/server/ServerBindingsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/binding/server/ServerBindingsDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v2.jackson.binding.server; -import com.asyncapi.v2._6_0.model.Reference; +import com.asyncapi.v2.Reference; import com.asyncapi.v2.binding.server.amqp.AMQPServerBinding; import com.asyncapi.v2.binding.server.amqp1.AMQP1ServerBinding; import com.asyncapi.v2.binding.server.anypointmq.AnypointMQServerBinding; diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt index 465b462c..5620f4c6 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt @@ -1,6 +1,7 @@ package com.asyncapi.v2._0_0.model import com.asyncapi.v2.ClasspathUtils +import com.asyncapi.v2.Reference import com.fasterxml.jackson.databind.ObjectMapper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.DisplayName diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt index e917aed4..cf119d6d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt @@ -2,7 +2,7 @@ package com.asyncapi.v2._0_0.model.channel.message import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._0_0.model.ExternalDocumentation -import com.asyncapi.v2._0_0.model.Reference +import com.asyncapi.v2.Reference import com.asyncapi.v2._0_0.model.Tag import com.asyncapi.v2.schema.Schema import com.asyncapi.v2.binding.message.MessageBinding diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt index 393d6fd1..041055ed 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt @@ -2,7 +2,7 @@ package com.asyncapi.v2._0_0.model.channel.operation import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._0_0.model.ExternalDocumentation -import com.asyncapi.v2._0_0.model.Reference +import com.asyncapi.v2.Reference import com.asyncapi.v2._0_0.model.Tag import com.asyncapi.v2._0_0.model.channel.message.MessageTest import com.asyncapi.v2.binding.operation.OperationBinding diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt index c3f9e804..3a3eb3c5 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt @@ -1,7 +1,7 @@ package com.asyncapi.v2._0_0.model.component import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2._0_0.model.Reference +import com.asyncapi.v2.Reference import com.asyncapi.v2._0_0.model.channel.ChannelItemTest import com.asyncapi.v2._0_0.model.channel.ParameterTest import com.asyncapi.v2._0_0.model.channel.message.CorrelationIdTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt index 89dafa8a..55e7e061 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt @@ -1,5 +1,6 @@ package com.asyncapi.v2._6_0.model +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.channel.ChannelItemTest import com.asyncapi.v2._6_0.model.component.ComponentsTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt index a0284bcc..6d751297 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt @@ -1,6 +1,7 @@ package com.asyncapi.v2._6_0.model import com.asyncapi.v2.ClasspathUtils +import com.asyncapi.v2.Reference import com.fasterxml.jackson.databind.ObjectMapper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.DisplayName diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt index ba2ead0f..d56dc689 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt @@ -1,7 +1,7 @@ package com.asyncapi.v2._6_0.model.channel +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.channel.operation.OperationWithMessageTest import com.asyncapi.v2._6_0.model.channel.operation.OperationWithOneOfMessageTest import com.asyncapi.v2.schema.Schema diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt index e27ac98a..aa91ef16 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt @@ -1,7 +1,7 @@ package com.asyncapi.v2._6_0.model.channel +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2.schema.Schema class ParameterWithReferenceToSchemaTest: SerDeTest() { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt index 90e6a809..eeeef6dd 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt @@ -1,8 +1,8 @@ package com.asyncapi.v2._6_0.model.channel.message +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.ExternalDocumentation -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.Tag import com.asyncapi.v2.schema.Schema import com.asyncapi.v2.binding.message.amqp.AMQPMessageBindingTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt index 5b604fdd..a3c6ce0e 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt @@ -1,8 +1,8 @@ package com.asyncapi.v2._6_0.model.channel.message +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.ExternalDocumentation -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.Tag import com.asyncapi.v2.schema.Schema import com.asyncapi.v2.binding.message.amqp.AMQPMessageBindingTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt index bbb9bc0b..03ee0086 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt @@ -1,7 +1,7 @@ package com.asyncapi.v2._6_0.model.channel.message import com.asyncapi.v2.ClasspathUtils -import com.asyncapi.v2._6_0.model.Reference +import com.asyncapi.v2.Reference import com.fasterxml.jackson.databind.ObjectMapper import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.DisplayName diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt index 32fbaa95..22e9a533 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt @@ -1,8 +1,8 @@ package com.asyncapi.v2._6_0.model.channel.operation +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.ExternalDocumentation -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.Tag import com.asyncapi.v2._6_0.model.channel.message.MessageTest import com.asyncapi.v2._6_0.model.channel.message.OneOfMessages diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt index 4148b4ab..ca7f5304 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt @@ -1,8 +1,8 @@ package com.asyncapi.v2._6_0.model.channel.operation +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.ExternalDocumentation -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.Tag import com.asyncapi.v2.binding.operation.amqp.AMQPOperationBindingTest import com.asyncapi.v2.binding.operation.http.HTTPOperationBindingTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt index ba801742..2bb3ec16 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt @@ -1,9 +1,9 @@ package com.asyncapi.v2._6_0.model.component +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest import com.asyncapi.v2.schema.Schema import com.asyncapi.v2.schema.Type -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.channel.ChannelItemTest import com.asyncapi.v2._6_0.model.channel.ParameterWithSchemaTest import com.asyncapi.v2._6_0.model.channel.ParameterWithReferenceToSchemaTest diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt index 3af3a219..2711875b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt @@ -1,7 +1,7 @@ package com.asyncapi.v2._6_0.model.server +import com.asyncapi.v2.Reference import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2._6_0.model.Reference import com.asyncapi.v2._6_0.model.Tag import com.asyncapi.v2.binding.server.amqp1.AMQP1ServerBinding import com.asyncapi.v2.binding.server.anypointmq.AnypointMQServerBinding From 0d12c74e64e2a01996d51254ad83569d2a6bb855 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:08:07 +0400 Subject: [PATCH 063/210] refactor: IBMMQChannelBinding - JsonClassDescription - Remove unused import --- .../asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java index a0654fd8..47d14e4f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBinding.java @@ -9,7 +9,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -26,6 +25,7 @@ @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ channel binding.") public class IBMMQChannelBinding extends ChannelBinding { /** From 26ee8ae4bee52e0a16cfe2787d1d3b6cd23f25ee Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:08:45 +0400 Subject: [PATCH 064/210] refactor: KafkaChannelBinding - Remove unused import --- .../asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java index d5a129af..2408566b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBinding.java @@ -11,8 +11,6 @@ import lombok.NoArgsConstructor; import org.jetbrains.annotations.Nullable; -import java.util.List; - /** * Describes Kafka channel binding. * From 61bc5696b5727262caeea868acd483083a95f189 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:20:35 +0400 Subject: [PATCH 065/210] refactor: fix Reference in JavaDoc --- .../com/asyncapi/v2/_6_0/model/AsyncAPI.java | 2 +- .../v2/_6_0/model/channel/ChannelItem.java | 4 +-- .../v2/_6_0/model/channel/Parameter.java | 2 +- .../_6_0/model/channel/message/Message.java | 8 +++--- .../model/channel/message/MessageTrait.java | 6 ++--- .../model/channel/message/OneOfMessages.java | 2 +- .../model/channel/operation/Operation.java | 6 ++--- .../channel/operation/OperationTrait.java | 2 +- .../v2/_6_0/model/component/Components.java | 26 +++++++++---------- .../asyncapi/v2/_6_0/model/server/Server.java | 4 +-- 10 files changed, 31 insertions(+), 31 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java index 4bba4d7a..017409dd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java @@ -76,7 +76,7 @@ public class AsyncAPI extends ExtendableObject { * MUST BE: *

                              *
                            • {@link Server}
                            • - *
                            • {@link Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/ChannelItem.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/ChannelItem.java index 787d651c..57fcad88 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/ChannelItem.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/ChannelItem.java @@ -73,7 +73,7 @@ public class ChannelItem extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.Parameter}
                            • *
                            */ @@ -86,7 +86,7 @@ public class ChannelItem extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link ChannelBinding}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/Parameter.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/Parameter.java index 16f2a618..e14cc2d9 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/Parameter.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/Parameter.java @@ -35,7 +35,7 @@ public class Parameter extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2.schema.Schema}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/Message.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/Message.java index eec867c6..6db494a8 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/Message.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/Message.java @@ -51,7 +51,7 @@ public class Message extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2.schema.Schema}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -78,7 +78,7 @@ public class Message extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.CorrelationId}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -149,7 +149,7 @@ public class Message extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link MessageBinding}
                            • *
                            */ @@ -170,7 +170,7 @@ public class Message extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.MessageTrait}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/MessageTrait.java index 22420d52..e4fba669 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/MessageTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/MessageTrait.java @@ -55,7 +55,7 @@ public class MessageTrait extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2.schema.Schema}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -68,7 +68,7 @@ public class MessageTrait extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.CorrelationId}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -139,7 +139,7 @@ public class MessageTrait extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link MessageBinding}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java index 09f3afb7..4261338f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessages.java @@ -26,7 +26,7 @@ public class OneOfMessages { * Given message MUST be one of provided messages. * *
                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.Message}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/Operation.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/Operation.java index a5ff9fb7..0a94bdb7 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/Operation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/Operation.java @@ -87,7 +87,7 @@ public class Operation extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link OperationBinding}
                            • *
                            */ @@ -101,7 +101,7 @@ public class Operation extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.operation.OperationTrait}
                            • *
                            */ @@ -116,7 +116,7 @@ public class Operation extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.Message}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.OneOfMessages}
                            • *
                            diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/OperationTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/OperationTrait.java index 22a5e623..aee233b5 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/OperationTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/channel/operation/OperationTrait.java @@ -92,7 +92,7 @@ public class OperationTrait extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link OperationBinding}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/component/Components.java index 4a9a8bef..99b5ec1a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/component/Components.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/component/Components.java @@ -52,7 +52,7 @@ public class Components extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2.schema.Schema}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -65,7 +65,7 @@ public class Components extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2._6_0.model.server.Server}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -78,7 +78,7 @@ public class Components extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2._6_0.model.server.ServerVariable}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -96,7 +96,7 @@ public class Components extends ExtendableObject { * MUST BE: *
                              *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.Message}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -109,7 +109,7 @@ public class Components extends ExtendableObject { * MUST BE: *
                              *
                            • {@link SecurityScheme}
                            • - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            */ @Nullable @@ -121,7 +121,7 @@ public class Components extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.Parameter}
                            • *
                            */ @@ -134,7 +134,7 @@ public class Components extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.CorrelationId}
                            • *
                            */ @@ -147,7 +147,7 @@ public class Components extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.operation.OperationTrait}
                            • *
                            */ @@ -160,7 +160,7 @@ public class Components extends ExtendableObject { *

                            * MUST BE: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.channel.message.MessageTrait}
                            • *
                            */ @@ -172,7 +172,7 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link ServerBinding} Objects. * MUST BE: *
                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link ServerBinding}
                            • *
                            */ @@ -184,7 +184,7 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link ChannelBinding} Objects. * MUST BE: *
                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link ChannelBinding}
                            • *
                            */ @@ -196,7 +196,7 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link OperationBinding} Objects. * MUST BE: *
                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link OperationBinding}
                            • *
                            */ @@ -208,7 +208,7 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link MessageBinding} Objects. * MUST BE: *
                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link MessageBinding}
                            • *
                            */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java index 796eacf0..21e2ad1e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/server/Server.java @@ -73,7 +73,7 @@ public class Server extends ExtendableObject { *

                            * MUST be one of: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link com.asyncapi.v2._6_0.model.server.ServerVariable}
                            • *
                            */ @@ -107,7 +107,7 @@ public class Server extends ExtendableObject { *

                            * MUST be one of: *

                              - *
                            • {@link com.asyncapi.v2._6_0.model.Reference}
                            • + *
                            • {@link com.asyncapi.v2.Reference}
                            • *
                            • {@link ServerBinding}
                            • *
                            */ From db3c56b3485371f91741f3b69ceb7a24044ddddf Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:21:40 +0400 Subject: [PATCH 066/210] refactor: remove unnecessary semicolon --- .../v2/binding/operation/solace/queue/SolaceOperationQueue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java index 93015cfc..acd627d1 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/solace/queue/SolaceOperationQueue.java @@ -75,7 +75,7 @@ public enum AccessType { @JsonProperty("exclusive") EXCLUSIVE, @JsonProperty("non-exclusive") - NON_EXCLUSIVE; + NON_EXCLUSIVE } From 1d6fab70b19a6424989e77431a7523fdaaa09357 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:22:55 +0400 Subject: [PATCH 067/210] refactor: unused imports --- .../com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt | 5 ----- .../v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt | 1 - .../v2/security_scheme/http/HttpSecuritySchemeTest.kt | 1 - 3 files changed, 7 deletions(-) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt index 10645446..2b3dbd5e 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt @@ -1,12 +1,7 @@ package com.asyncapi.v2._0_0.model.server -import com.asyncapi.v2.ClasspathUtils import com.asyncapi.v2.SerDeTest import com.asyncapi.v2._6_0.model.server.ServerVariable -import com.fasterxml.jackson.databind.ObjectMapper -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Test /** * @author Pavel Bodiachevskii diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt index 6f81615d..acc8ccc1 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt @@ -1,7 +1,6 @@ package com.asyncapi.v2.security_scheme.http import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2.security_scheme.SecurityScheme class HttpApiKeySecuritySchemeTest: SerDeTest() { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt index 2faa4645..da721d92 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt @@ -1,7 +1,6 @@ package com.asyncapi.v2.security_scheme.http import com.asyncapi.v2.SerDeTest -import com.asyncapi.v2.security_scheme.SecurityScheme class HttpSecuritySchemeBasicTest: SerDeTest() { From 10a41a304b4947430f240815f68a1ca251e352d0 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 21 Mar 2023 03:30:00 +0400 Subject: [PATCH 068/210] refactor: Builder.Default --- .../asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java | 1 + .../v2/binding/channel/anypointmq/AnypointMQChannelBinding.java | 1 + .../channel/googlepubsub/GooglePubSubChannelSchemaSettings.java | 2 ++ .../googlepubsub/GooglePubSubMessageSchemaDefinition.java | 2 ++ .../v2/binding/operation/http/HTTPOperationBinding.java | 1 + 5 files changed, 7 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java index 37ba135b..616b92ba 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBinding.java @@ -35,6 +35,7 @@ public class AMQPChannelBinding extends ChannelBinding { * Defines what type of channel is it. Can be either queue or routingKey (default). */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "is", required = true, defaultValue = "routingKey") @JsonPropertyDescription("Defines what type of channel is it. Can be either queue or routingKey (default).") diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java index 4113fdfc..790ef4c0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBinding.java @@ -45,6 +45,7 @@ public class AnypointMQChannelBinding extends ChannelBinding { * supported by this channel. */ @Nullable + @Builder.Default @JsonProperty(value = "destinationType", defaultValue = "queue") @JsonPropertyDescription("The type of destination, which MUST be either exchange or queue or fifo-queue. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel.") private AnypointMQChannelDestinationType destinationType = AnypointMQChannelDestinationType.QUEUE; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java index 94d35129..76e0fa79 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java @@ -28,6 +28,7 @@ public class GooglePubSubChannelSchemaSettings { * The encoding of the message (Must be one of the possible Encoding values.) */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "encoding", required = true) @JsonPropertyDescription("The encoding of the message (Must be one of the possible https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#encoding values.)") @@ -53,6 +54,7 @@ public class GooglePubSubChannelSchemaSettings { * The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.) */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "name", required = true) @JsonPropertyDescription("The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.)") diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java index de55827d..2f70c8ac 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java @@ -34,6 +34,7 @@ public class GooglePubSubMessageSchemaDefinition { * The name of the schema */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "name", required = true) @JsonPropertyDescription("The name of the schema") @@ -43,6 +44,7 @@ public class GooglePubSubMessageSchemaDefinition { * The type of the schema */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "type", required = true) @JsonPropertyDescription("The type of the schema") diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java index 0314774a..50de41dd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/operation/http/HTTPOperationBinding.java @@ -34,6 +34,7 @@ public class HTTPOperationBinding extends OperationBinding { * Type of operation. Its value MUST be either request or response. */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "type", required = true) @JsonPropertyDescription("Type of operation. Its value MUST be either request or response.") From c72fd01cef5ba3bc4d89898338b99441659e4241 Mon Sep 17 00:00:00 2001 From: Carlos Tasada Date: Tue, 20 Jun 2023 16:09:26 +0200 Subject: [PATCH 069/210] build: Specified Maven Compiler Plugin version It's considered a best practice to specify the Maven Plugin versions, otherwise the used version is not guaranteed and depends on the Maven release. --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 9b3b6d45..691b3969 100644 --- a/pom.xml +++ b/pom.xml @@ -209,6 +209,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.11.0 compile From 9b68046d643f250b781feac15d768b63196eaf2e Mon Sep 17 00:00:00 2001 From: Carlos Tasada Date: Tue, 20 Jun 2023 16:10:18 +0200 Subject: [PATCH 070/210] build: Specified source encoding If no source encoding is specified, Maven defaults to UTF-8, while showing a warning. Here we specify the used format, which is UTF-8 anyway --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 691b3969..391729ad 100644 --- a/pom.xml +++ b/pom.xml @@ -55,6 +55,7 @@ 1.18.26 5.9.2 1.7.0 + UTF-8 From fa9124e060ac54929f9c3f1d231cb72050c691bd Mon Sep 17 00:00:00 2001 From: Carlos Tasada Date: Tue, 20 Jun 2023 16:12:54 +0200 Subject: [PATCH 071/210] fix: Lombok compiler warning The compilation process was complaining about not properly specified defaults. The `asyncapi` values are supposed to be `final`, but that change breaks the `AsyncAPI` contract usage in different ways. The alternative is to indicate the value is the default one for the builder. This solution removes the warning while keeping the contract expectations. --- .../src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java | 1 + .../src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java | 1 + 2 files changed, 2 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java index 59d02084..440fddec 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java @@ -43,6 +43,7 @@ public class AsyncAPI extends ExtendableObject { * and tooling should typically be compatible with the corresponding major.minor (1.0.*). * Patch versions will correspond to patches of this document. */ + @Builder.Default @NotNull private String asyncapi = "2.0.0"; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java index 716b5338..5944f5c0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java @@ -43,6 +43,7 @@ public class AsyncAPI extends ExtendableObject { * and tooling should typically be compatible with the corresponding major.minor (1.0.*). * Patch versions will correspond to patches of this document. */ + @Builder.Default @NotNull private String asyncapi = "2.6.0"; From 30df53d5fa8be869787476faa11bb2aadd1a8e84 Mon Sep 17 00:00:00 2001 From: jaydeep Date: Mon, 3 Jul 2023 15:59:50 +0530 Subject: [PATCH 072/210] If schema items is a single json schema, it will be parsed as a Schema object instead of a LinkedHashMap. If it is an array of schemas, then it will be returned as an arraylist ( like before) --- .../v2/jackson/SchemaItemsDeserializer.java | 38 +++++++++++++++++++ .../java/com/asyncapi/v2/schema/Schema.java | 3 +- .../message/MessageWithArrayPayloadTest.kt | 32 ++++++++++++++++ ...messageWithArrayPayloadArrayOfSchemas.json | 19 ++++++++++ .../messageWithArrayPayloadJsonSchema.json | 32 ++++++++++++++++ 5 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt create mode 100644 asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json create mode 100644 asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java new file mode 100644 index 00000000..8cdcc77b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java @@ -0,0 +1,38 @@ +package com.asyncapi.v2.jackson; + +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.JsonNodeType; + +import java.io.IOException; + +public class SchemaItemsDeserializer extends JsonDeserializer { + + @Override + public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode node = objectCodec.readTree(jsonParser); + JsonNodeType nodeType = node.getNodeType(); + if (nodeType == JsonNodeType.OBJECT) { + return readAsSchema(node, objectCodec); + } + // TODO: Implement handling of scenario when items is an array of schemas. Maybe return a List? + return readAsObject(node, objectCodec); + } + + private Object readAsSchema(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser parser = jsonNode.traverse(objectCodec)) { + return parser.readValueAs(Schema.class); + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(Object.class); + } + } +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/schema/Schema.java b/asyncapi-core/src/main/java/com/asyncapi/v2/schema/Schema.java index aa99503c..c4937bc4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/schema/Schema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/schema/Schema.java @@ -3,6 +3,7 @@ import com.asyncapi.v2.ExtendableObject; import com.asyncapi.v2._0_0.jackson.model.schema.SchemasAdditionalPropertiesDeserializer; import com.asyncapi.v2._0_0.model.ExternalDocumentation; +import com.asyncapi.v2.jackson.SchemaItemsDeserializer; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.AllArgsConstructor; @@ -362,7 +363,7 @@ Validation Keywords for Numeric Instances (number and integer) * Omitting this keyword has the same behavior as an empty schema. */ @Nullable - @JsonProperty + @JsonDeserialize(using = SchemaItemsDeserializer.class) public Object items; /** diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt new file mode 100644 index 00000000..373b0e06 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt @@ -0,0 +1,32 @@ +package com.asyncapi.v2._6_0.model.channel.message + +import com.asyncapi.v2.ClasspathUtils +import com.asyncapi.v2.schema.Schema +import com.fasterxml.jackson.databind.ObjectMapper +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import kotlin.test.assertTrue + +class MessageWithArrayPayloadTest { + private val objectMapper = ObjectMapper() + + @Test + @DisplayName("Test array items property is parsed as a schema object") + fun testArrayItemsPropertyIsParsedAsSchemaObjectWhenItIsASingleJsonSchema() { + val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json") + val schema = objectMapper.readValue(model, Message::class.java).payload as Schema + assertTrue( + schema.items is Schema + ) + } + + @Test + @DisplayName("Test array items property is parsed as an array list") + fun testArrayItemsPropertyIsParsedAsArrayListWhenItIsAnArrayOfSchemas() { + val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json") + val schema = objectMapper.readValue(model, Message::class.java).payload as Schema + assertTrue( + schema.items is ArrayList<*> + ) + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json new file mode 100644 index 00000000..33dc7425 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json @@ -0,0 +1,19 @@ +{ + "bindings": { + "kafka": { + "key": { + "type": "string" + }, + "bindingVersion": "0.4.0" + } + }, + "payload": { + "type": "array", + "items": [ + { "type": "number" }, + { "type": "string" }, + { "enum": ["Street", "Avenue", "Boulevard"] }, + { "enum": ["NW", "NE", "SW", "SE"] } + ] + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json new file mode 100644 index 00000000..e8c084f3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json @@ -0,0 +1,32 @@ +{ + "bindings": { + "kafka": { + "key": { + "type": "string" + }, + "bindingVersion": "0.4.0" + } + }, + "payload": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "name", + "done" + ], + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "done": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file From 840f0332e08cf61327a7ee7952a1eebdde1f07d2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 17 Sep 2023 23:14:46 +0400 Subject: [PATCH 073/210] fix: Duplicated @Builder.Default after merge --- .../src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java | 1 - .../src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java | 1 - 2 files changed, 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java index c6515f0b..790ef520 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_0_0/model/AsyncAPI.java @@ -44,7 +44,6 @@ public class AsyncAPI extends ExtendableObject { * and tooling should typically be compatible with the corresponding major.minor (1.0.*). * Patch versions will correspond to patches of this document. */ - @Builder.Default @NotNull @Builder.Default private final String asyncapi = "2.0.0"; diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java index 335fe4ad..017409dd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/_6_0/model/AsyncAPI.java @@ -46,7 +46,6 @@ public class AsyncAPI extends ExtendableObject { * and tooling should typically be compatible with the corresponding major.minor (1.0.*). * Patch versions will correspond to patches of this document. */ - @Builder.Default @NotNull @Builder.Default private final String asyncapi = "2.6.0"; From f01aca586129ef6ee4663f54ae426aea4bc21731 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 17 Sep 2023 23:21:22 +0400 Subject: [PATCH 074/210] fix(SecurityScheme): @Builder will ignore the initializing expression entirely --- .../java/com/asyncapi/v2/security_scheme/SecurityScheme.java | 1 + 1 file changed, 1 insertion(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java index e81615bd..c250e778 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/SecurityScheme.java @@ -80,6 +80,7 @@ public class SecurityScheme extends ExtendableObject { * */ @NotNull + @Builder.Default private Type type = Type.USER_PASSWORD; /** From e5bf13c90c9bfd435c7ffcc4c87a9aa620e3ab93 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 17 Sep 2023 23:21:35 +0400 Subject: [PATCH 075/210] fix(OAuthFlow): @Builder will ignore the initializing expression entirely --- .../com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java index e1f88ca5..27e63b29 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlow.java @@ -32,6 +32,7 @@ public class OAuthFlow extends ExtendableObject { * The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL. */ @Nullable + @Builder.Default private String refreshUrl = ""; /** @@ -40,6 +41,7 @@ public class OAuthFlow extends ExtendableObject { * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. */ @NotNull + @Builder.Default private Map scopes = new HashMap<>(); } From 5557f0b0f80d1d2ca3f5d27e5d8b34934a55f1b8 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 17 Sep 2023 23:22:03 +0400 Subject: [PATCH 076/210] fix(IBMMQMessageBinding): @Builder will ignore the initializing expression entirely --- .../asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java index 5ccc1811..1b233d53 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBinding.java @@ -34,6 +34,7 @@ public class IBMMQMessageBinding extends MessageBinding { * MUST be either string, jms or binary */ @Nullable + @Builder.Default @JsonProperty(value = "type", defaultValue = "string") @JsonPropertyDescription("The type of the message.") private IBMMQMessageType type = IBMMQMessageType.STRING; @@ -71,6 +72,7 @@ public class IBMMQMessageBinding extends MessageBinding { * expiry value MUST be either zero (unlimited) or greater than zero. */ @Nullable + @Builder.Default @javax.validation.constraints.Min( value = 0, message = "Expiry must be greater or equals to 0" From f2b99db2345f622291acb74f8bae359c420c3ab6 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 17 Sep 2023 23:22:14 +0400 Subject: [PATCH 077/210] fix(GooglePubSubChannelBinding): @Builder will ignore the initializing expression entirely --- .../channel/googlepubsub/GooglePubSubChannelBinding.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java index 1f2c7a8b..896a88b6 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBinding.java @@ -35,6 +35,7 @@ public class GooglePubSubChannelBinding extends ChannelBinding { * The Google Cloud Pub/Sub Topic name. */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "topic", required = true) @JsonPropertyDescription("The Google Cloud Pub/Sub Topic name.") @@ -68,6 +69,7 @@ public class GooglePubSubChannelBinding extends ChannelBinding { * Settings for validating messages published against a schema */ @NotNull + @Builder.Default @javax.validation.constraints.NotNull @JsonProperty(value = "schemaSettings", required = true) @JsonPropertyDescription("Settings for validating messages published against a schema") From cbceb465c088bdf32605b0c166b793d028639dc4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 19:28:06 +0400 Subject: [PATCH 078/210] feat(3.0.0): AsyncAPI --- .../com/asyncapi/v3/ExtendableObject.java | 43 +++++++ .../com/asyncapi/v3/_0_0/model/AsyncAPI.java | 108 ++++++++++++++++++ .../v3/_0_0/model/channel/ChannelItem.java | 4 + .../v3/_0_0/model/component/Components.java | 4 + .../com/asyncapi/v3/_0_0/model/info/Info.java | 4 + .../asyncapi/v3/_0_0/model/server/Server.java | 4 + 6 files changed, 167 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java new file mode 100644 index 00000000..23f75dc5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Pattern; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonIgnoreProperties({"extensionFields"}) +public class ExtendableObject { + + private static final Pattern extensionPropertyNamePattern = Pattern.compile("^x-[\\w\\d\\-\\_]+$"); + + /** + * Extension fields in the form x-extension-field-name for the exposed API. + */ + @Nullable + @JsonAnyGetter + protected Map extensionFields; + + @JsonAnySetter + protected final void readExtensionProperty(String name, Object value) { + if (extensionPropertyNamePattern.matcher(name).matches()) { + if (extensionFields == null) { + extensionFields = new HashMap<>(); + } + + extensionFields.put(name, value); + } else { + throw new IllegalArgumentException(String.format("\"%s\" is not valid extension property", name)); + } + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java new file mode 100644 index 00000000..a2aabafe --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java @@ -0,0 +1,108 @@ +package com.asyncapi.v3._0_0.model; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3._0_0.model.channel.ChannelItem; +import com.asyncapi.v3._0_0.model.component.Components; +import com.asyncapi.v3._0_0.model.info.Info; +import com.asyncapi.v3._0_0.model.server.Server; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.HashMap; +import java.util.Map; + +/** + * This is the root document object for the API specification. + * It combines resource listing and API declaration together into one document. + * + * @version 3.0.0 + * @see AsyncAPI + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AsyncAPI extends ExtendableObject { + + /** + * Required. + *

                            + * Specifies the AsyncAPI Specification version being used. + * It can be used by tooling Specifications and clients to interpret the version. + * The structure shall be major.minor.patch, where patch versions must be compatible + * with the existing major.minor tooling. + *

                            + * Typically patch versions will be introduced to address errors in the documentation, + * and tooling should typically be compatible with the corresponding major.minor (1.0.*). + * Patch versions will correspond to patches of this document. + */ + @NotNull + @Builder.Default + private final String asyncapi = "3.0.0"; + + /** + * Identifier of the application the AsyncAPI document is defining. + *

                            + * This field represents a unique universal identifier of the application the AsyncAPI document is defining. + * It must conform to the URI format, according to RFC3986. + *

                            + * It is RECOMMENDED to use a URN to globally and uniquely identify the application during long periods of time, + * even after it becomes unavailable or ceases to exist. + */ + @Nullable + private String id; + + /** + * A string representing the default content type to use when encoding/decoding a message's payload. + * The value MUST be a specific media type (e.g. application/json). + * This value MUST be used by schema parsers when the contentType property is omitted. + *

                            + * In case a message can't be encoded/decoded using this value, schema parsers MUST use their default content type. + */ + @Nullable + private String defaultContentType; + + /** + * Required. + *

                            + * Provides metadata about the API. The metadata can be used by the clients if needed. + */ + @NotNull + @Builder.Default + private Info info = new Info(); + + /** + * Provides connection details of servers. + */ + @Nullable + private Map servers; + + /** + * The available channels and messages for the API. + *

                            + * Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers. + *

                            + * Channels are also known as "topics", "routing keys", "event types" or "paths". + */ + @Nullable + @Builder.Default + private Map channels = new HashMap<>(); + + /** + * The available operations for the API. + */ + @Nullable + @Builder.Default + private Map operations = new HashMap<>(); + + /** + * An element to hold various schemas for the specification. + */ + @Nullable + private Components components; + +} + diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java new file mode 100644 index 00000000..ba1177d0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java @@ -0,0 +1,4 @@ +package com.asyncapi.v3._0_0.model.channel; + +public class ChannelItem { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java new file mode 100644 index 00000000..17bd82a8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java @@ -0,0 +1,4 @@ +package com.asyncapi.v3._0_0.model.component; + +public class Components { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java new file mode 100644 index 00000000..5eb9e2fc --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java @@ -0,0 +1,4 @@ +package com.asyncapi.v3._0_0.model.info; + +public class Info { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java new file mode 100644 index 00000000..aae42ced --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java @@ -0,0 +1,4 @@ +package com.asyncapi.v3._0_0.model.server; + +public class Server { +} From 6700e205190c7eff5b42b854f630f864fc887191 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 19:38:17 +0400 Subject: [PATCH 079/210] feat(3.0.0): Contact --- .../asyncapi/v3/_0_0/model/info/Contact.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java new file mode 100644 index 00000000..ec6fd3c6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java @@ -0,0 +1,39 @@ +package com.asyncapi.v3._0_0.model.info; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Contact information for the exposed API. + * + * @version 3.0.0 + * @see Contact + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Contact extends ExtendableObject { + + /** + * The identifying name of the contact person/organization. + */ + @Nullable + private String name; + + /** + * The URL pointing to the contact information. MUST be in the format of a URL. + */ + @Nullable + private String url; + + /** + * The email address of the contact person/organization. MUST be in the format of an email address. + */ + @Nullable + private String email; + +} From 7c25d5b6e483bf71f1ec950c8856f8276613b14b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 19:41:26 +0400 Subject: [PATCH 080/210] feat(3.0.0): Licence --- .../asyncapi/v3/_0_0/model/info/License.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java new file mode 100644 index 00000000..a8737428 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java @@ -0,0 +1,35 @@ +package com.asyncapi.v3._0_0.model.info; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * License information for the exposed API. + * + * @version 3.0.0 + * @see License + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class License extends ExtendableObject { + + /** + * Required. The license name used for the API. + */ + @NotNull + @Builder.Default + private String name = ""; + + /** + * A URL to the license used for the API. MUST be in the format of a URL. + */ + @Nullable + private String url; + +} From faaed80c8110a04700977689036c64dc5beeb02a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 19:44:10 +0400 Subject: [PATCH 081/210] feat(3.0.0): ExternalDocumentation --- .../v3/_0_0/model/ExternalDocumentation.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java new file mode 100644 index 00000000..5dc4595e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java @@ -0,0 +1,37 @@ +package com.asyncapi.v3._0_0.model; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Allows referencing an external resource for extended documentation. + * + * @version 3.0.0 + * @see ExternalDocumentation + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ExternalDocumentation extends ExtendableObject { + + /** + * A short description of the target documentation. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * Required. + *

                            + * The URL for the target documentation. Value MUST be in the format of a URL. + */ + @NotNull + @Builder.Default + private String url = ""; + +} From ec8919437a32c849dd00c0fd795407e86e717d24 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 20:05:32 +0400 Subject: [PATCH 082/210] feat(3.0.0): Tag --- .../main/java/com/asyncapi/v3/Reference.java | 38 ++++++++++++ .../ExternalDocumentationDeserializer.java | 23 +++++++ .../java/com/asyncapi/v3/_0_0/model/Tag.java | 50 +++++++++++++++ .../ReferenceOrObjectDeserializer.java | 61 +++++++++++++++++++ 4 files changed, 172 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/ExternalDocumentationDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ReferenceOrObjectDeserializer.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java new file mode 100644 index 00000000..bd4b78c7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java @@ -0,0 +1,38 @@ +package com.asyncapi.v3; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.NotNull; + +/** + * A simple object to allow referencing other components in the specification, internally and externally. + *

                            + * The Reference Object is defined by JSON Reference and follows the same structure, behavior and rules. + * A JSON Reference SHALL only be used to refer to a schema that is formatted in either JSON or YAML. + * In the case of a YAML-formatted Schema, the JSON Reference SHALL be applied to the JSON representation of + * that schema. The JSON representation SHALL be made by applying the conversion described here. + *

                            + * For this specification, reference resolution is done as defined by the JSON Reference specification and not by + * the JSON Schema specification. + * + * @version 3.0.0 + * @see Reference + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Reference { + + /** + * Required. + *

                            + * The reference string. + */ + @NotNull + @JsonProperty(value = "$ref") + private String ref = ""; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/ExternalDocumentationDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/ExternalDocumentationDeserializer.java new file mode 100644 index 00000000..b09ac314 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/ExternalDocumentationDeserializer.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3._0_0.jackson.model; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3.jackson.ReferenceOrObjectDeserializer; + +/** + * Deserializes external documentation. + * + * @author Pavel Bodiachevskii + */ +public class ExternalDocumentationDeserializer extends ReferenceOrObjectDeserializer { + + @Override + public Class objectTypeClass() { + return ExternalDocumentation.class; + } + + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java new file mode 100644 index 00000000..3ae2df83 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java @@ -0,0 +1,50 @@ +package com.asyncapi.v3._0_0.model; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Allows adding meta data to a single tag. + * + * @version 3.0.0 + * @see Tag + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Tag extends ExtendableObject { + + /** + * Required. The name of the tag. + */ + @NotNull + @Builder.Default + private String name = ""; + + /** + * A short description for the tag. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * Additional external documentation for this tag. + * MUST BE: + *

                              + *
                            • {@link ExternalDocumentation}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ReferenceOrObjectDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ReferenceOrObjectDeserializer.java new file mode 100644 index 00000000..b9b34882 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ReferenceOrObjectDeserializer.java @@ -0,0 +1,61 @@ +package com.asyncapi.v3.jackson; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; + +import java.io.IOException; + +public abstract class ReferenceOrObjectDeserializer extends JsonDeserializer { + + abstract public Class objectTypeClass(); + + abstract public Class referenceClass(); + + @Override + public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + /* + Problem: + Both, Reference class and Schema class have $ref field. + So, this is only reason why I receive next exception: + "com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: + Unrecognized field "title" (class com.asyncapi.v2._6_0.model.Reference), + not marked as ignorable (one known property: "$ref"])" + in case when Schema contains $ref. + Solution: + Try to deserialize reference. In case of exception, try to deserialize it as given ObjectType. In case of + one more exception, throw it. + TODO: Think how to improve. + */ + try { + return chooseKnownPojo(node, objectCodec); + } catch (UnrecognizedPropertyException unrecognizedPropertyException) { + return readAsObject(node, objectCodec); + } + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (ref != null) { + return jsonParser.readValueAs(referenceClass()); + } else { + return jsonParser.readValueAs(objectTypeClass()); + } + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(objectTypeClass()); + } + } + +} From cb01541e1b5b24df1c818b56f5d17d99360b9c85 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 20:11:25 +0400 Subject: [PATCH 083/210] feat(3.0.0): Info --- .../_0_0/jackson/model/TagsDeserializer.java | 24 ++++ .../com/asyncapi/v3/_0_0/model/info/Info.java | 105 +++++++++++++++++- ...ListOfReferencesOrObjectsDeserializer.java | 51 +++++++++ 3 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/TagsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ListOfReferencesOrObjectsDeserializer.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/TagsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/TagsDeserializer.java new file mode 100644 index 00000000..71e39397 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/TagsDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.jackson.ListOfReferencesOrObjectsDeserializer; + +/** + * Deserializes tags. + * + * @author Pavel Bodiachevskii + */ +public class TagsDeserializer extends ListOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Tag.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java index 5eb9e2fc..ed8d7b4e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java @@ -1,4 +1,107 @@ package com.asyncapi.v3._0_0.model.info; -public class Info { +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.ExtendableObject; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * The object provides metadata about the API. The metadata can be used by the clients if needed. + * + * @version 3.0.0 + * @see Info + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Info extends ExtendableObject { + + /** + * Required. + *

                            + * The title of the application. + */ + @NotNull + @JsonProperty + @Builder.Default + private String title = ""; + + /** + * Required. + *

                            + * Provides the version of the application API (not to be confused with the specification version). + */ + @NotNull + @JsonProperty + @Builder.Default + private String version = ""; + + /** + * A short description of the application. CommonMark syntax can be used for rich text representation. + */ + @Nullable + @JsonProperty + private String description; + + /** + * A URL to the Terms of Service for the API. MUST be in the format of a URL. + */ + @Nullable + @JsonProperty + private String termsOfService; + + /** + * The contact information for the exposed API. + */ + @Nullable + @JsonProperty + private Contact contact; + + /** + * The license information for the exposed API. + */ + @Nullable + @JsonProperty + private License license; + + /** + * A list of tags for application API documentation control. Tags can be used for logical grouping of applications. + *

                            + * MUST BE: + *

                              + *
                            • {@link Tag}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation of the exposed API. + *

                            + * MUST BE: + *

                              + *
                            • {@link ExternalDocumentation}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ListOfReferencesOrObjectsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ListOfReferencesOrObjectsDeserializer.java new file mode 100644 index 00000000..e4212093 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/ListOfReferencesOrObjectsDeserializer.java @@ -0,0 +1,51 @@ +package com.asyncapi.v3.jackson; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public abstract class ListOfReferencesOrObjectsDeserializer extends JsonDeserializer> { + + abstract public Class objectTypeClass(); + + abstract public Class referenceClass(); + + @Override + public List deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + List traits = new ArrayList<>(); + + node.forEach( + traitsValue -> { + try { + traits.add(chooseKnownPojo(traitsValue, objectCodec)); + } catch (IOException e) { + e.printStackTrace(); + } + } + ); + + return traits; + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (ref != null) { + return jsonParser.readValueAs(referenceClass()); + } else { + return jsonParser.readValueAs(objectTypeClass()); + } + } + } + +} From e4fa43d4b82d2a00c348cb5c238304b11cd2395a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 20:42:04 +0400 Subject: [PATCH 084/210] feat(3.0.0): ExternalDocumentation tests --- .../kotlin/com/asyncapi/v3/ClasspathUtils.kt | 14 ++++ .../test/kotlin/com/asyncapi/v3/SerDeTest.kt | 84 +++++++++++++++++++ .../_0_0/model/ExternalDocumentationTest.kt | 25 ++++++ .../externalDocumentation - extended.json | 9 ++ ...ernalDocumentation - wrongly extended.json | 10 +++ .../v3/3.0.0/model/externalDocumentation.json | 4 + 6 files changed, 146 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/ClasspathUtils.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ExternalDocumentationTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/ClasspathUtils.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/ClasspathUtils.kt new file mode 100644 index 00000000..aef776a1 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/ClasspathUtils.kt @@ -0,0 +1,14 @@ +package com.asyncapi.v3 + +/** + * @author Pavel Bodiachevskii + */ +object ClasspathUtils { + + fun readAsString(resourceName: String): String { + return ClasspathUtils::class.java + .getResource(resourceName) + .readText(charset = Charsets.UTF_8) + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt new file mode 100644 index 00000000..d33c77e6 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt @@ -0,0 +1,84 @@ +package com.asyncapi.v3 + +import com.fasterxml.jackson.databind.JsonMappingException +import com.fasterxml.jackson.databind.ObjectMapper +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test + +abstract class SerDeTest { + + protected val objectMapper = ObjectMapper() + + protected abstract fun objectClass(): Class + + protected abstract fun baseObjectJson(): String + + protected abstract fun extendedObjectJson(): String + + protected abstract fun wronglyExtendedObjectJson(): String + + @Test + @DisplayName("Compare hand crafted object with parsed json") + fun compareObjectWithParsedJson() { + val model = ClasspathUtils.readAsString(baseObjectJson()) + + Assertions.assertEquals( + objectMapper.readValue(model, objectClass()), + build() + ) + } + + @Test + @DisplayName("Compare hand crafted extended object with parsed json") + fun compareExtendedObjectWithParsedJson() { + val model = objectMapper.readValue(ClasspathUtils.readAsString(extendedObjectJson()), objectClass()) + + Assertions.assertEquals(0, (model as ExtendableObject).extensionFields!!["x-number"]) + Assertions.assertEquals("", (model as ExtendableObject).extensionFields!!["x-string"]) + Assertions.assertEquals( + mapOf(Pair("property", emptyMap())), + (model as ExtendableObject).extensionFields!!["x-object"] + ) + Assertions.assertEquals(model, buildExtended()) + } + + @Test + @DisplayName("Compare hand crafted extended object with json") + fun compareExtendedObjectWithJson() { + val model = ClasspathUtils.readAsString(extendedObjectJson()) + + Assertions.assertEquals( + model, + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(buildExtended()) + ) + } + + @Test + @DisplayName("Read wrongly extended object") + fun readWronglyExtendedObject() { + val model = ClasspathUtils.readAsString(wronglyExtendedObjectJson()) + + val exception = Assertions.assertThrows(JsonMappingException::class.java) { + objectMapper.readValue(model, objectClass()) + } + Assertions.assertEquals( + "\"ext-number\" is not valid extension property (through reference chain: ${objectClass().name}[\"ext-number\"])", + exception.message + ) + } + + abstract fun build(): ExtendableObject + + fun buildExtended(): ExtendableObject { + val `object` = build() + `object`.extensionFields = mapOf( + Pair("x-number", 0), + Pair("x-string", ""), + Pair("x-object", mapOf(Pair("property", emptyMap()))), + ) + + return `object` + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ExternalDocumentationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ExternalDocumentationTest.kt new file mode 100644 index 00000000..2df6be6f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ExternalDocumentationTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3._0_0.model + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class ExternalDocumentationTest: SerDeTest() { + + override fun objectClass() = ExternalDocumentation::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/externalDocumentation.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/externalDocumentation - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/externalDocumentation - wrongly extended.json" + + override fun build(): ExternalDocumentation { + return ExternalDocumentation( + "Find more info here", + "https://example.com" + ) + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - extended.json new file mode 100644 index 00000000..0183a85a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - extended.json @@ -0,0 +1,9 @@ +{ + "description" : "Find more info here", + "url" : "https://example.com", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - wrongly extended.json new file mode 100644 index 00000000..48a7ffed --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "description": "Find more info here", + "url": "https://example.com", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation.json new file mode 100644 index 00000000..d41602e3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/externalDocumentation.json @@ -0,0 +1,4 @@ +{ + "description": "Find more info here", + "url": "https://example.com" +} From b44f5f043a91d19c0b3a768cedeebd37117b67ea Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 24 Sep 2023 20:42:15 +0400 Subject: [PATCH 085/210] feat(3.0.0): Tag tests --- .../com/asyncapi/v3/_0_0/model/TagTest.kt | 50 +++++++++++++++++++ .../json/v3/3.0.0/model/tag - extended.json | 13 +++++ .../3.0.0/model/tag - wrongly extended.json | 14 ++++++ ... reference to externalDocs - extended.json | 12 +++++ ...ce to externalDocs - wrongly extended.json | 13 +++++ .../tag with reference to externalDocs.json | 7 +++ .../resources/json/v3/3.0.0/model/tag.json | 8 +++ 7 files changed, 117 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/TagTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/TagTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/TagTest.kt new file mode 100644 index 00000000..e18a3ca9 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/TagTest.kt @@ -0,0 +1,50 @@ +package com.asyncapi.v3._0_0.model + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class TagTestWithReferenceToExternalDocs: SerDeTest() { + + override fun objectClass() = Tag::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/tag with reference to externalDocs.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/tag with reference to externalDocs - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/tag with reference to externalDocs - wrongly extended.json" + + override fun build(): Tag { + return Tag( + "user", + "User-related messages", + Reference("#/components/external-doc") + ) + } + +} + +/** + * @author Pavel Bodiachevskii + */ +class TagTest: SerDeTest() { + + override fun objectClass() = Tag::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/tag.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/tag - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/tag - wrongly extended.json" + + override fun build(): Tag { + return Tag( + "user", + "User-related messages", + ExternalDocumentationTest().build() + ) + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - extended.json new file mode 100644 index 00000000..d41b395e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - extended.json @@ -0,0 +1,13 @@ +{ + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - wrongly extended.json new file mode 100644 index 00000000..7a65e27e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag - wrongly extended.json @@ -0,0 +1,14 @@ +{ + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - extended.json new file mode 100644 index 00000000..1d10e2f8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - extended.json @@ -0,0 +1,12 @@ +{ + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - wrongly extended.json new file mode 100644 index 00000000..79e4f263 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs - wrongly extended.json @@ -0,0 +1,13 @@ +{ + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs.json new file mode 100644 index 00000000..f9ad85f8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag with reference to externalDocs.json @@ -0,0 +1,7 @@ +{ + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag.json new file mode 100644 index 00000000..aa06e030 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/tag.json @@ -0,0 +1,8 @@ +{ + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } +} From e74a2d045d0aba472383ad1fe8ef67a75bd04e08 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 00:37:53 +0400 Subject: [PATCH 086/210] feat(3.0.0): Reference tests --- .../asyncapi/v3/_0_0/model/ReferenceTest.kt | 29 +++++++++++++++++++ .../json/v3/3.0.0/model/reference.json | 3 ++ 2 files changed, 32 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ReferenceTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/reference.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ReferenceTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ReferenceTest.kt new file mode 100644 index 00000000..9ebf9892 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/ReferenceTest.kt @@ -0,0 +1,29 @@ +package com.asyncapi.v3._0_0.model + +import com.asyncapi.v3.ClasspathUtils +import com.asyncapi.v3.Reference +import com.fasterxml.jackson.databind.ObjectMapper +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test + +class ReferenceTest { + + private val objectMapper = ObjectMapper() + + @Test + @DisplayName("Compare hand crafted model with parsed json") + fun compareModelWithParsedJson() { + val model = ClasspathUtils.readAsString("/json/v3/3.0.0/model/reference.json") + + Assertions.assertEquals( + objectMapper.readValue(model, Reference::class.java), + build() + ) + } + + fun build(): Reference { + return Reference("#/components/schemas/user") + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/reference.json new file mode 100644 index 00000000..cca746ac --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/reference.json @@ -0,0 +1,3 @@ +{ + "$ref": "#/components/schemas/user" +} \ No newline at end of file From 9e9cf960cd90737741a9bb71cf0baa344b621011 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 00:40:21 +0400 Subject: [PATCH 087/210] feat(3.0.0): Contact tests --- .../v3/_0_0/model/info/ContactTest.kt | 26 +++++++++++++++++++ .../3.0.0/model/info/contact - extended.json | 10 +++++++ .../info/contact - wrongly extended.json | 11 ++++++++ .../json/v3/3.0.0/model/info/contact.json | 5 ++++ 4 files changed, 52 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/ContactTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/ContactTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/ContactTest.kt new file mode 100644 index 00000000..d9d9b017 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/ContactTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3._0_0.model.info + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class ContactTest: SerDeTest() { + + override fun objectClass() = Contact::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/info/contact.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/info/contact - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/info/contact - wrongly extended.json" + + override fun build(): Contact { + return Contact( + "AsyncApi", + "https://www.asyncapi.com", + "java@asyncapi.com" + ) + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - extended.json new file mode 100644 index 00000000..74154899 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - extended.json @@ -0,0 +1,10 @@ +{ + "name" : "AsyncApi", + "url" : "https://www.asyncapi.com", + "email" : "java@asyncapi.com", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - wrongly extended.json new file mode 100644 index 00000000..bf8dcedb --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact.json new file mode 100644 index 00000000..31cd246a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/contact.json @@ -0,0 +1,5 @@ +{ + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" +} From 12f812e1adfbeadc96d8bd7c6068c209ad73bf22 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 00:42:16 +0400 Subject: [PATCH 088/210] feat(3.0.0): License tests --- .../v3/_0_0/model/info/LicenseTest.kt | 25 +++++++++++++++++++ .../3.0.0/model/info/license - extended.json | 9 +++++++ .../info/license - wrongly extended.json | 10 ++++++++ .../json/v3/3.0.0/model/info/license.json | 4 +++ 4 files changed, 48 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/LicenseTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/LicenseTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/LicenseTest.kt new file mode 100644 index 00000000..a7a9537b --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/LicenseTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3._0_0.model.info + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class LicenseTest: SerDeTest() { + + override fun objectClass() = License::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/info/license.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/info/license - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/info/license - wrongly extended.json" + + override fun build(): License { + return License( + "Apache License 2.0", + "http://www.apache.org/licenses/" + ) + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - extended.json new file mode 100644 index 00000000..95d3cd1e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - extended.json @@ -0,0 +1,9 @@ +{ + "name" : "Apache License 2.0", + "url" : "http://www.apache.org/licenses/", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - wrongly extended.json new file mode 100644 index 00000000..a52ea20d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license.json new file mode 100644 index 00000000..61436164 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/license.json @@ -0,0 +1,4 @@ +{ + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" +} From e7653479cb3633d555ae23e759fdd7e0dad0778d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 01:00:44 +0400 Subject: [PATCH 089/210] feat(3.0.0): Info tests --- .../asyncapi/v3/_0_0/model/info/InfoTest.kt | 59 +++++++++++++++++++ .../v3/3.0.0/model/info/info - extended.json | 32 ++++++++++ .../model/info/info - wrongly extended.json | 21 +++++++ .../info/info with reference - extended.json | 26 ++++++++ ...nfo with reference - wrongly extended.json | 29 +++++++++ .../3.0.0/model/info/info with reference.json | 23 ++++++++ .../json/v3/3.0.0/model/info/info.json | 29 +++++++++ 7 files changed, 219 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/InfoTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info.json diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/InfoTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/InfoTest.kt new file mode 100644 index 00000000..9c2ccfbc --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/info/InfoTest.kt @@ -0,0 +1,59 @@ +package com.asyncapi.v3._0_0.model.info + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentationTest +import com.asyncapi.v3._0_0.model.TagTest + +/** + * @author Pavel Bodiachevskii + */ +class InfoTest: SerDeTest() { + + override fun objectClass() = Info::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/info/info.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/info/info - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/info/info - wrongly extended.json" + + override fun build(): Info { + return Info( + "AsyncApi sample", + "2.0", + "short description", + "https://www.asyncapi.com/about/", + ContactTest().build(), + LicenseTest().build(), + listOf(TagTest().build()), + ExternalDocumentationTest().build(), + ) + } + +} + +class InfoTestWithReferences: SerDeTest() { + + override fun objectClass() = Info::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/info/info with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/info/info with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/info/info with reference - wrongly extended.json" + + override fun build(): Info { + return Info( + "AsyncApi sample", + "2.0", + "short description", + "https://www.asyncapi.com/about/", + ContactTest().build(), + LicenseTest().build(), + listOf(Reference("#/components/schemas/tag")), + Reference("#/components/schemas/externalDoc"), + ) + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - extended.json new file mode 100644 index 00000000..c430f171 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - extended.json @@ -0,0 +1,32 @@ +{ + "title" : "AsyncApi sample", + "version" : "2.0", + "description" : "short description", + "termsOfService" : "https://www.asyncapi.com/about/", + "contact" : { + "name" : "AsyncApi", + "url" : "https://www.asyncapi.com", + "email" : "java@asyncapi.com" + }, + "license" : { + "name" : "Apache License 2.0", + "url" : "http://www.apache.org/licenses/" + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - wrongly extended.json new file mode 100644 index 00000000..b6dbd60b --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info - wrongly extended.json @@ -0,0 +1,21 @@ +{ + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - extended.json new file mode 100644 index 00000000..64ee7183 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - extended.json @@ -0,0 +1,26 @@ +{ + "title" : "AsyncApi sample", + "version" : "2.0", + "description" : "short description", + "termsOfService" : "https://www.asyncapi.com/about/", + "contact" : { + "name" : "AsyncApi", + "url" : "https://www.asyncapi.com", + "email" : "java@asyncapi.com" + }, + "license" : { + "name" : "Apache License 2.0", + "url" : "http://www.apache.org/licenses/" + }, + "tags" : [ { + "$ref" : "#/components/schemas/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/schemas/externalDoc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - wrongly extended.json new file mode 100644 index 00000000..0ac2a117 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference - wrongly extended.json @@ -0,0 +1,29 @@ +{ + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "tags": [ + { + "$ref": "#/components/schemas/tag" + } + ], + "externalDocs": { + "$ref": "#/components/schemas/externalDoc" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference.json new file mode 100644 index 00000000..253ea5b8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info with reference.json @@ -0,0 +1,23 @@ +{ + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "tags": [ + { + "$ref": "#/components/schemas/tag" + } + ], + "externalDocs": { + "$ref": "#/components/schemas/externalDoc" + } +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info.json new file mode 100644 index 00000000..8231edb9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/info/info.json @@ -0,0 +1,29 @@ +{ + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + } + ], + "externalDocs": { + "description": "Find more info here", + "url": "https://example.com" + } +} From 685afecec8edd3070b719394bc9bf1b2f9d4c436 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:16:41 +0400 Subject: [PATCH 090/210] feat(3.0.0): ServerVariable --- .../v3/_0_0/model/server/ServerVariable.java | 50 +++++++++++++++++++ .../_0_0/model/server/ServerVariableTest.kt | 28 +++++++++++ .../server/serverVariable - extended.json | 11 ++++ .../serverVariable - wrongly extended.json | 18 +++++++ .../v3/3.0.0/model/server/serverVariable.json | 12 +++++ 5 files changed, 119 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerVariableTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java new file mode 100644 index 00000000..9e20243f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java @@ -0,0 +1,50 @@ +package com.asyncapi.v3._0_0.model.server; + +import com.asyncapi.v3.ExtendableObject; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * An object representing a Server Variable for server URL template substitution. + * + * @version 3.0.0 + * @see ServerVariable + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ServerVariable extends ExtendableObject { + + /** + * An enumeration of string values to be used if the substitution options are from a limited set. + */ + @Nullable + @JsonProperty(value = "enum") + private List enumValues; + + /** + * The default value to use for substitution, and to send, if an alternate value is not supplied. + */ + @Nullable + @JsonProperty("default") + private String defaultValue; + + /** + * An optional description for the server variable. CommonMark syntax MAY be used for rich text representation. + */ + @Nullable + private String description; + + /** + * An array of examples of the server variable. + */ + @Nullable + private List examples; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerVariableTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerVariableTest.kt new file mode 100644 index 00000000..9107078e --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerVariableTest.kt @@ -0,0 +1,28 @@ +package com.asyncapi.v3._0_0.model.server + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class ServerVariableTest: SerDeTest() { + + override fun objectClass() = ServerVariable::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/server/serverVariable.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/server/serverVariable - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/server/serverVariable - wrongly extended.json" + + override fun build(): ServerVariable { + return ServerVariable.builder() + .enumValues(listOf("8883", "8884")) + .description("To which port connect") + .defaultValue("8883") + .examples(listOf("8883", "8884")) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - extended.json new file mode 100644 index 00000000..93416d9d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - extended.json @@ -0,0 +1,11 @@ +{ + "description" : "To which port connect", + "examples" : [ "8883", "8884" ], + "enum" : [ "8883", "8884" ], + "default" : "8883", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - wrongly extended.json new file mode 100644 index 00000000..16e70dab --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable - wrongly extended.json @@ -0,0 +1,18 @@ +{ + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable.json new file mode 100644 index 00000000..84405441 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/serverVariable.json @@ -0,0 +1,12 @@ +{ + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ] +} \ No newline at end of file From ca00f7c5bcce09df2ac66ad737f5ab129fbb7d7f Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:45:07 +0400 Subject: [PATCH 091/210] feat(3.0.0): ApiKeySecurityScheme --- .../security_scheme/ApiKeySecurityScheme.java | 43 +++++++ .../v3/security_scheme/SecurityScheme.java | 119 ++++++++++++++++++ .../ApiKeySecuritySchemeTest.kt | 25 ++++ .../v3/security_scheme/apiKey - extended.json | 10 ++ .../apiKey - wrongly extended.json | 11 ++ .../json/v3/security_scheme/apiKey.json | 5 + 6 files changed, 213 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ApiKeySecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java new file mode 100644 index 00000000..86a20335 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3.security_scheme; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @version 2.6.0 + * @see SecurityScheme + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ApiKeySecurityScheme extends SecurityScheme { + + /** + * REQUIRED. + *

                            + * The location of the API key. + */ + @NotNull + private ApiKeyLocation in = ApiKeyLocation.USER; + + @Builder(builderMethodName = "apiKeyBuilder") + public ApiKeySecurityScheme(@Nullable String description, + @NotNull ApiKeyLocation in) { + super(Type.API_KEY, description); + this.in = in; + } + + public enum ApiKeyLocation { + + @JsonProperty("user") + USER, + @JsonProperty("password") + PASSWORD + + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java new file mode 100644 index 00000000..e86ba92f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -0,0 +1,119 @@ +package com.asyncapi.v3.security_scheme; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.security_scheme.http.HttpApiKeySecurityScheme; +import com.asyncapi.v3.security_scheme.http.HttpSecurityScheme; +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecurityScheme; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Defines a security scheme that can be used by the operations. Supported schemes are: + *

                              + *
                            • User/Password.
                            • + *
                            • API key (either as user or as password).
                            • + *
                            • X.509 certificate.
                            • + *
                            • End-to-end encryption (either symmetric or asymmetric).
                            • + *
                            • HTTP authentication.
                            • + *
                            • HTTP API key.
                            • + *
                            • OAuth2’s common flows (Implicit, Resource Owner Protected Credentials, Client Credentials and Authorization Code) as defined in RFC6749.
                            • + *
                            • OpenID Connect Discovery.
                            • + *
                            • SASL (Simple Authentication and Security Layer) as defined in RFC4422.
                            • + *
                            + * + * This object MAY be extended with Specification Extensions. + * + * @version 3.0.0 + * @see Security Scheme Object + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXISTING_PROPERTY, + property = "type", + visible = true +) +@JsonSubTypes({ +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "userPassword"), + @JsonSubTypes.Type(value = ApiKeySecurityScheme.class, name = "apiKey"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), +// @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), +// @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), +// @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), +// @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), +// @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), +}) +@EqualsAndHashCode(callSuper = true) +public class SecurityScheme extends ExtendableObject { + + /** + * REQUIRED. + *

                            + * The type of the security scheme. Valid values are: + *

                              + *
                            • userPassword
                            • + *
                            • apiKey
                            • + *
                            • X509
                            • + *
                            • symmetricEncryption
                            • + *
                            • asymmetricEncryption
                            • + *
                            • httpApiKey
                            • + *
                            • http
                            • + *
                            • oauth2
                            • + *
                            • openIdConnect
                            • + *
                            + */ + @NotNull + @Builder.Default + private Type type = Type.USER_PASSWORD; + + /** + * A short description for security scheme. CommonMark syntax MAY be used for rich text representation. + */ + @Nullable + private String description; + + public enum Type { + + @JsonProperty("userPassword") + USER_PASSWORD, + @JsonProperty("apiKey") + API_KEY, + @JsonProperty("X509") + X509, + @JsonProperty("symmetricEncryption") + SYMMETRIC_ENCRYPTION, + @JsonProperty("asymmetricEncryption") + ASYMMETRIC_ENCRYPTION, + @JsonProperty("httpApiKey") + HTTP_API_KEY, + @JsonProperty("http") + HTTP, + @JsonProperty("oauth2") + OAUTH2, + @JsonProperty("openIdConnect") + OPENID_CONNECT, + @JsonProperty("plain") + PLAIN, + @JsonProperty("scramSha256") + SCRAM_SHA256, + @JsonProperty("scramSha512") + SCRAM_SHA512, + @JsonProperty("gssapi") + GSSAPI + + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ApiKeySecuritySchemeTest.kt new file mode 100644 index 00000000..fc7aa22d --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ApiKeySecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class ApiKeySecuritySchemeTest: SerDeTest() { + + override fun objectClass() = ApiKeySecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/apiKey.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/apiKey - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/apiKey - wrongly extended.json" + + override fun build(): SecurityScheme { + return ApiKeySecurityScheme.apiKeyBuilder() + .description("apiKey") + .`in`(ApiKeySecurityScheme.ApiKeyLocation.USER) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - extended.json new file mode 100644 index 00000000..a50ce65d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - extended.json @@ -0,0 +1,10 @@ +{ + "type" : "apiKey", + "description" : "apiKey", + "in" : "user", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - wrongly extended.json new file mode 100644 index 00000000..4833f8a5 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "type": "apiKey", + "description": "apiKey", + "in": "user", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey.json new file mode 100644 index 00000000..b5f91e04 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/apiKey.json @@ -0,0 +1,5 @@ +{ + "type": "apiKey", + "description": "apiKey", + "in": "user" +} \ No newline at end of file From 6accd4e08bde6fa1e557da802631e936ffe2ec1e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:49:34 +0400 Subject: [PATCH 092/210] feat(3.0.0): OpenIdConnectSecurityScheme --- .../OpenIdConnectSecurityScheme.java | 43 +++++++++++++++++++ .../v3/security_scheme/SecurityScheme.java | 2 +- .../OpenIdConnectSecuritySchemeTest.kt | 26 +++++++++++ .../openIdConnect - extended.json | 11 +++++ .../openIdConnect - wrongly extended.json | 15 +++++++ .../v3/security_scheme/openIdConnect.json | 9 ++++ 6 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/OpenIdConnectSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java new file mode 100644 index 00000000..ff0febc3 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3.security_scheme; + +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * @version 2.6.0 + * @see SecurityScheme + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OpenIdConnectSecurityScheme extends SecurityScheme { + + /** + * REQUIRED. + *

                            + * OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL. + */ + @NotNull + private String openIdConnectUrl = ""; + + /** + * List of the needed scope names. + */ + @Nullable + private List scopes; + + @Builder(builderMethodName = "openIdBuilder") + public OpenIdConnectSecurityScheme(@Nullable String description, + @NotNull String openIdConnectUrl, + @Nullable List scopes) { + super(Type.OPENID_CONNECT, description); + this.openIdConnectUrl = openIdConnectUrl; + this.scopes = scopes; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index e86ba92f..c011f2dd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -50,7 +50,7 @@ // @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), // @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), // @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), -// @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), + @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/OpenIdConnectSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/OpenIdConnectSecuritySchemeTest.kt new file mode 100644 index 00000000..baf2ff56 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/OpenIdConnectSecuritySchemeTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class OpenIdConnectSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = OpenIdConnectSecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/openIdConnect.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/openIdConnect - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/openIdConnect - wrongly extended.json" + + override fun build(): SecurityScheme { + return OpenIdConnectSecurityScheme.openIdBuilder() + .description("openIdConnect") + .openIdConnectUrl("https://server.com/.well-known/openid-configuration") + .scopes(listOf("write:pets", "read:pets")) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - extended.json new file mode 100644 index 00000000..cfd5a756 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - extended.json @@ -0,0 +1,11 @@ +{ + "type" : "openIdConnect", + "description" : "openIdConnect", + "openIdConnectUrl" : "https://server.com/.well-known/openid-configuration", + "scopes" : [ "write:pets", "read:pets" ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - wrongly extended.json new file mode 100644 index 00000000..66338a6d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect - wrongly extended.json @@ -0,0 +1,15 @@ +{ + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect.json new file mode 100644 index 00000000..49747b8c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/openIdConnect.json @@ -0,0 +1,9 @@ +{ + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ] +} \ No newline at end of file From 21a9077a1e33606015ef2fa9a1cf2a916e897fe5 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:52:00 +0400 Subject: [PATCH 093/210] feat(3.0.0): userPassword security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../UserPasswordSecuritySchemeTest.kt | 25 +++++++++++++++++++ .../userPassword - extended.json | 9 +++++++ .../userPassword - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/userPassword.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/UserPasswordSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index c011f2dd..7f699ca2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -42,7 +42,7 @@ visible = true ) @JsonSubTypes({ -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "userPassword"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "userPassword"), @JsonSubTypes.Type(value = ApiKeySecurityScheme.class, name = "apiKey"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/UserPasswordSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/UserPasswordSecuritySchemeTest.kt new file mode 100644 index 00000000..c7aa3980 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/UserPasswordSecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class UserPasswordSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/userPassword.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/userPassword - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/userPassword - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.USER_PASSWORD) + .description("userPassword") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - extended.json new file mode 100644 index 00000000..721e5559 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "userPassword", + "description" : "userPassword", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - wrongly extended.json new file mode 100644 index 00000000..e0d85aa5 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "userPassword", + "description": "userPassword", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword.json new file mode 100644 index 00000000..4d9a3cc3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/userPassword.json @@ -0,0 +1,4 @@ +{ + "type": "userPassword", + "description": "userPassword" +} \ No newline at end of file From 72dec6b4f583e89aa991dfc1a5658cd188aebc6e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:53:19 +0400 Subject: [PATCH 094/210] feat(3.0.0): X509 security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../security_scheme/X509SecuritySchemeTest.kt | 25 +++++++++++++++++++ .../v3/security_scheme/X509 - extended.json | 9 +++++++ .../X509 - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/X509.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/X509SecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/X509.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index 7f699ca2..d3e42523 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -44,7 +44,7 @@ @JsonSubTypes({ @JsonSubTypes.Type(value = SecurityScheme.class, name = "userPassword"), @JsonSubTypes.Type(value = ApiKeySecurityScheme.class, name = "apiKey"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), // @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/X509SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/X509SecuritySchemeTest.kt new file mode 100644 index 00000000..849ce42a --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/X509SecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class X509SecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/X509.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/X509 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/X509 - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.X509) + .description("X509") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - extended.json new file mode 100644 index 00000000..46699754 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "X509", + "description" : "X509", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - wrongly extended.json new file mode 100644 index 00000000..42acde6f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509 - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "X509", + "description": "X509", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/X509.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509.json new file mode 100644 index 00000000..a2355018 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/X509.json @@ -0,0 +1,4 @@ +{ + "type": "X509", + "description": "X509" +} \ No newline at end of file From a333ee2f9edafd16b69931d36191713f6113130a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:54:48 +0400 Subject: [PATCH 095/210] feat(3.0.0): symmetricEncryption security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../SymmetricEncryptionSecuritySchemeTest.kt | 25 +++++++++++++++++++ .../symmetricEncryption - extended.json | 9 +++++++ ...ymmetricEncryption - wrongly extended.json | 10 ++++++++ .../security_scheme/symmetricEncryption.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index d3e42523..12d9278e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -45,7 +45,7 @@ @JsonSubTypes.Type(value = SecurityScheme.class, name = "userPassword"), @JsonSubTypes.Type(value = ApiKeySecurityScheme.class, name = "apiKey"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), // @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), // @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt new file mode 100644 index 00000000..4f6057da --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class SymmetricEncryptionSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/symmetricEncryption.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/symmetricEncryption - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/symmetricEncryption - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.SYMMETRIC_ENCRYPTION) + .description("symmetricEncryption") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - extended.json new file mode 100644 index 00000000..d4915691 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "symmetricEncryption", + "description" : "symmetricEncryption", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - wrongly extended.json new file mode 100644 index 00000000..81bb0e1c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "symmetricEncryption", + "description": "symmetricEncryption", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption.json new file mode 100644 index 00000000..58aa4d19 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/symmetricEncryption.json @@ -0,0 +1,4 @@ +{ + "type": "symmetricEncryption", + "description": "symmetricEncryption" +} \ No newline at end of file From 2fe1728ef77536dfeadd2ca4d1c4f9a78cbc3df8 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:56:13 +0400 Subject: [PATCH 096/210] feat(3.0.0): asymmetricEncryption security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../AsymmetricEncryptionSecuritySchemeTest.kt | 25 +++++++++++++++++++ .../asymmetricEncryption - extended.json | 9 +++++++ ...ymmetricEncryption - wrongly extended.json | 10 ++++++++ .../security_scheme/asymmetricEncryption.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index 12d9278e..09393880 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -46,7 +46,7 @@ @JsonSubTypes.Type(value = ApiKeySecurityScheme.class, name = "apiKey"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), // @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), // @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), // @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt new file mode 100644 index 00000000..ff6e6cd1 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class AsymmetricEncryptionSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/asymmetricEncryption.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/asymmetricEncryption - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/asymmetricEncryption - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.ASYMMETRIC_ENCRYPTION) + .description("asymmetricEncryption") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - extended.json new file mode 100644 index 00000000..8c6b124c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "asymmetricEncryption", + "description" : "asymmetricEncryption", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - wrongly extended.json new file mode 100644 index 00000000..fdf5491f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "asymmetricEncryption", + "description": "asymmetricEncryption", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption.json new file mode 100644 index 00000000..db927521 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/asymmetricEncryption.json @@ -0,0 +1,4 @@ +{ + "type": "asymmetricEncryption", + "description": "asymmetricEncryption" +} \ No newline at end of file From e88711d00a735860f2d475d605d039d5bc56ce58 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 21:59:57 +0400 Subject: [PATCH 097/210] feat(3.0.0): HttpApiKeySecurityScheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../http/HttpApiKeySecurityScheme.java | 56 +++++++++++++++++++ .../http/HttpApiKeySecuritySchemeTest.kt | 23 ++++++++ .../http/httpApiKey - extended.json | 11 ++++ .../http/httpApiKey - wrongly extended.json | 12 ++++ .../v3/security_scheme/http/httpApiKey.json | 6 ++ 6 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpApiKeySecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index 09393880..e56ae526 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -47,7 +47,7 @@ @JsonSubTypes.Type(value = SecurityScheme.class, name = "X509"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), -// @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), + @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), // @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), // @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java new file mode 100644 index 00000000..7ef9ecd8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java @@ -0,0 +1,56 @@ +package com.asyncapi.v3.security_scheme.http; + +import com.asyncapi.v3.security_scheme.SecurityScheme; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @version 3.0.0 + * @see SecurityScheme + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HttpApiKeySecurityScheme extends SecurityScheme { + + /** + * REQUIRED. + *

                            + * The name of the header, query or cookie parameter to be used. + */ + @NotNull + private String name = ""; + + /** + * REQUIRED. + *

                            + * The location of the API key. + */ + @Nullable + private ApiKeyLocation in; + + @Builder(builderMethodName = "httpApiKeyBuilder") + public HttpApiKeySecurityScheme(@Nullable String description, + @NotNull String name, + @Nullable ApiKeyLocation in) { + super(Type.HTTP_API_KEY, description); + this.name = name; + this.in = in; + } + + public enum ApiKeyLocation { + + @JsonProperty("query") + QUERY, + @JsonProperty("header") + HEADER, + @JsonProperty("cookie") + COOKIE + + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpApiKeySecuritySchemeTest.kt new file mode 100644 index 00000000..df47744d --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpApiKeySecuritySchemeTest.kt @@ -0,0 +1,23 @@ +package com.asyncapi.v3.security_scheme.http + +import com.asyncapi.v3.SerDeTest + +class HttpApiKeySecuritySchemeTest: SerDeTest() { + + override fun objectClass() = HttpApiKeySecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/http/httpApiKey.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/http/httpApiKey - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/http/httpApiKey - wrongly extended.json" + + override fun build(): HttpApiKeySecurityScheme { + return HttpApiKeySecurityScheme.httpApiKeyBuilder() + .description("httpApiKey") + .name("api_key") + .`in`(HttpApiKeySecurityScheme.ApiKeyLocation.HEADER) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - extended.json new file mode 100644 index 00000000..5ab385b3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - extended.json @@ -0,0 +1,11 @@ +{ + "type" : "httpApiKey", + "description" : "httpApiKey", + "name" : "api_key", + "in" : "header", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - wrongly extended.json new file mode 100644 index 00000000..767730b1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey - wrongly extended.json @@ -0,0 +1,12 @@ +{ + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey.json new file mode 100644 index 00000000..467469f5 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpApiKey.json @@ -0,0 +1,6 @@ +{ + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" +} From 6d7c110464520669263c67b7f5d4e9d708af4205 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:04:04 +0400 Subject: [PATCH 098/210] feat(3.0.0): HttpSecurityScheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../http/HttpSecurityScheme.java | 43 +++++++++++++++++++ .../http/HttpSecuritySchemeTest.kt | 42 ++++++++++++++++++ .../http/httpBasic - extended.json | 11 +++++ .../http/httpBasic - wrongly extended.json | 11 +++++ .../v3/security_scheme/http/httpBasic.json | 5 +++ .../http/httpBearer - extended.json | 11 +++++ .../http/httpBearer - wrongly extended.json | 12 ++++++ .../v3/security_scheme/http/httpBearer.json | 6 +++ 9 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index e56ae526..bf3a7f3b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -48,7 +48,7 @@ @JsonSubTypes.Type(value = SecurityScheme.class, name = "symmetricEncryption"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), -// @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), + @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), // @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java new file mode 100644 index 00000000..a85fc92f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3.security_scheme.http; + +import com.asyncapi.v3.security_scheme.SecurityScheme; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @version 3.0.0 + * @see SecurityScheme + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HttpSecurityScheme extends SecurityScheme { + + /** + * REQUIRED. + *

                            + * The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235. + */ + @NotNull + private String scheme = ""; + + /** + * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated + * by an authorization server, so this information is primarily for documentation purposes. + */ + @Nullable + private String bearerFormat; + + @Builder(builderMethodName = "httpBuilder") + public HttpSecurityScheme(@Nullable String description, + @NotNull String scheme, + @Nullable String bearerFormat) { + super(Type.HTTP, description); + this.scheme = scheme; + this.bearerFormat = bearerFormat; + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpSecuritySchemeTest.kt new file mode 100644 index 00000000..c06ad616 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/http/HttpSecuritySchemeTest.kt @@ -0,0 +1,42 @@ +package com.asyncapi.v3.security_scheme.http + +import com.asyncapi.v3.SerDeTest + +class HttpSecuritySchemeBasicTest: SerDeTest() { + + override fun objectClass() = HttpSecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/http/httpBasic.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/http/httpBasic - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/http/httpBasic - wrongly extended.json" + + override fun build(): HttpSecurityScheme { + return HttpSecurityScheme.httpBuilder() + .description("http") + .scheme("basic") + .build() + } + +} + +class HttpSecuritySchemeBearerTest: SerDeTest() { + + override fun objectClass() = HttpSecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/http/httpBearer.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/http/httpBearer - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/http/httpBearer - wrongly extended.json" + + override fun build(): HttpSecurityScheme { + return HttpSecurityScheme.httpBuilder() + .description("http") + .scheme("bearer") + .bearerFormat("JWT") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json new file mode 100644 index 00000000..f41e4c2c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json @@ -0,0 +1,11 @@ +{ + "type" : "http", + "description" : "http", + "scheme" : "basic", + "bearerFormat" : null, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - wrongly extended.json new file mode 100644 index 00000000..5c4e3887 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "type": "http", + "description": "http", + "scheme": "basic", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic.json new file mode 100644 index 00000000..38f712e1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic.json @@ -0,0 +1,5 @@ +{ + "type": "http", + "description": "http", + "scheme": "basic" +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - extended.json new file mode 100644 index 00000000..1a371df6 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - extended.json @@ -0,0 +1,11 @@ +{ + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - wrongly extended.json new file mode 100644 index 00000000..cfdc83f2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer - wrongly extended.json @@ -0,0 +1,12 @@ +{ + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer.json new file mode 100644 index 00000000..68da22ef --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBearer.json @@ -0,0 +1,6 @@ +{ + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" +} From f1759fca4fd98789bdd2a8134f4be758424bda8d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:23:24 +0400 Subject: [PATCH 099/210] feat(3.0.0): OAuth2SecurityScheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../oauth2/OAuth2SecurityScheme.java | 44 ++++++++++++++++ .../v3/security_scheme/oauth2/OAuthFlows.java | 51 +++++++++++++++++++ .../flow/AuthorizationCodeOAuthFlow.java | 46 +++++++++++++++++ .../flow/ClientCredentialsOAuthFlow.java | 36 +++++++++++++ .../oauth2/flow/ImplicitOAuthFlow.java | 36 +++++++++++++ .../oauth2/flow/OAuthFlow.java | 43 ++++++++++++++++ .../oauth2/flow/PasswordOAuthFlow.java | 36 +++++++++++++ .../oauth2/OAuth2SecuritySchemeTest.kt | 27 ++++++++++ .../security_scheme/oauth2/OAuthFlowTest.kt | 28 ++++++++++ .../flow/AuthorizationCodeOAuthFlowTest.kt | 27 ++++++++++ .../flow/ClientCredentialsOAuthFlowTest.kt | 26 ++++++++++ .../oauth2/flow/ImplicitOAuthFlowTest.kt | 26 ++++++++++ .../oauth2/flow/OAuthFlowTest.kt | 25 +++++++++ .../oauth2/flow/PasswordOAuthFlowTest.kt | 26 ++++++++++ ...authorizationCodeOAuthFlow - extended.json | 14 +++++ ...ationCodeOAuthFlow - wrongly extended.json | 15 ++++++ .../flow/authorizationCodeOAuthFlow.json | 9 ++++ ...clientCredentialsOAuthFlow - extended.json | 13 +++++ ...edentialsOAuthFlow - wrongly extended.json | 14 +++++ .../flow/clientCredentialsOAuthFlow.json | 8 +++ .../flow/implicitOAuthFlow - extended.json | 13 +++++ .../implicitOAuthFlow - wrongly extended.json | 14 +++++ .../oauth2/flow/implicitOAuthFlow.json | 8 +++ .../oauth2/flow/oauthFlow - extended.json | 12 +++++ .../flow/oauthFlow - wrongly extended.json | 13 +++++ .../oauth2/flow/oauthFlow.json | 7 +++ .../flow/passwordOAuthFlow - extended.json | 13 +++++ .../passwordOAuthFlow - wrongly extended.json | 14 +++++ .../oauth2/flow/passwordOAuthFlow.json | 8 +++ .../oauth2/oauth2 - extended.json | 45 ++++++++++++++++ .../oauth2/oauth2 - wrongly extended.json | 46 +++++++++++++++++ .../v3/security_scheme/oauth2/oauth2.json | 40 +++++++++++++++ .../oauth2/oauthFlows - extended.json | 40 +++++++++++++++ .../oauth2/oauthFlows - wrongly extended.json | 41 +++++++++++++++ .../v3/security_scheme/oauth2/oauthFlows.json | 35 +++++++++++++ 36 files changed, 900 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index bf3a7f3b..86483da9 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -49,7 +49,7 @@ @JsonSubTypes.Type(value = SecurityScheme.class, name = "asymmetricEncryption"), @JsonSubTypes.Type(value = HttpApiKeySecurityScheme.class, name = "httpApiKey"), @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), -// @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), + @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java new file mode 100644 index 00000000..e1000944 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java @@ -0,0 +1,44 @@ +package com.asyncapi.v3.security_scheme.oauth2; + +import com.asyncapi.v3.security_scheme.SecurityScheme; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * @version 3.0.0 + * @see SecurityScheme + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OAuth2SecurityScheme extends SecurityScheme { + + /** + * REQUIRED. + *

                            + * An object containing configuration information for the flow types supported. + */ + @NotNull + private OAuthFlows flows = new OAuthFlows(); + + /** + * List of the needed scope names. + */ + @Nullable + private List scopes; + + @Builder(builderMethodName = "oauth2Builder") + public OAuth2SecurityScheme(@Nullable String description, + @NotNull OAuthFlows flows, + @Nullable List scopes) { + super(Type.OAUTH2, description); + this.flows = flows; + this.scopes = scopes; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java new file mode 100644 index 00000000..9f33cdb0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java @@ -0,0 +1,51 @@ +package com.asyncapi.v3.security_scheme.oauth2; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.security_scheme.oauth2.flow.AuthorizationCodeOAuthFlow; +import com.asyncapi.v3.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow; +import com.asyncapi.v3.security_scheme.oauth2.flow.ImplicitOAuthFlow; +import com.asyncapi.v3.security_scheme.oauth2.flow.PasswordOAuthFlow; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Allows configuration of the supported OAuth Flows. + *

                            + * This object MAY be extended with Specification Extensions. + * + * @version 3.0.0 + * @see OAuth Flows Object + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OAuthFlows extends ExtendableObject { + + /** + * Configuration for the OAuth Implicit flow + */ + @Nullable + private ImplicitOAuthFlow implicit; + + /** + * Configuration for the OAuth Resource Owner Protected Credentials flow + */ + @Nullable + private PasswordOAuthFlow password; + + /** + * Configuration for the OAuth Client Credentials flow. + */ + @Nullable + private ClientCredentialsOAuthFlow clientCredentials; + + /** + * Configuration for the OAuth Authorization Code flow + */ + @Nullable + private AuthorizationCodeOAuthFlow authorizationCode; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java new file mode 100644 index 00000000..0d2351d6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java @@ -0,0 +1,46 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow; + +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * This object MAY be extended with Specification Extensions. + * + * @version 3.0.0 + * @see OAuth Flow Object + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AuthorizationCodeOAuthFlow extends OAuthFlow { + + /** + * REQUIRED. + *

                            + * The authorization URL to be used for this flow. This MUST be in the form of an absolute URL. + */ + @NotNull + private String authorizationUrl = ""; + + /** + * The token URL to be used for this flow. This MUST be in the form of an absolute URL. + */ + @Nullable + private String tokenUrl = ""; + + @Builder(builderMethodName = "authorizationCodeBuilder") + public AuthorizationCodeOAuthFlow(@Nullable String refreshUrl, + @NotNull Map scopes, + @NotNull String authorizationUrl, + @Nullable String tokenUrl) { + super(refreshUrl, scopes); + this.authorizationUrl = authorizationUrl; + this.tokenUrl = tokenUrl; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java new file mode 100644 index 00000000..b927fdda --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java @@ -0,0 +1,36 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow; + +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * @version 3.0.0 + * @see OAuth Flow Object + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ClientCredentialsOAuthFlow extends OAuthFlow { + + /** + * REQUIRED. + *

                            + * The token URL to be used for this flow. This MUST be in the form of a URL. + */ + @NotNull + private String tokenUrl = ""; + + @Builder(builderMethodName = "clientCredentialsBuilder") + public ClientCredentialsOAuthFlow(@Nullable String refreshUrl, + @NotNull Map scopes, + @NotNull String tokenUrl) { + super(refreshUrl, scopes); + this.tokenUrl = tokenUrl; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java new file mode 100644 index 00000000..3c7fada4 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java @@ -0,0 +1,36 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow; + +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * @version 3.0.0 + * @see OAuth Flow Object + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ImplicitOAuthFlow extends OAuthFlow { + + /** + * REQUIRED. + *

                            + * The authorization URL to be used for this flow. This MUST be in the form of a URL + */ + @NotNull + private String authorizationUrl = ""; + + @Builder(builderMethodName = "implicitBuilder") + public ImplicitOAuthFlow(@Nullable String refreshUrl, + @NotNull Map scopes, + @NotNull String authorizationUrl) { + super(refreshUrl, scopes); + this.authorizationUrl = authorizationUrl; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java new file mode 100644 index 00000000..06715a94 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.HashMap; +import java.util.Map; + +/** + * Configuration details for a supported OAuth Flow + *

                            + * This object MAY be extended with Specification Extensions. + * + * @version 3.0.0 + * @see OAuth Flow Object + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OAuthFlow extends ExtendableObject { + + /** + * The URL to be used for obtaining refresh tokens. This MUST be in the form of an absolute URL. + */ + @Nullable + @Builder.Default + private String refreshUrl = ""; + + /** + * REQUIRED. + *

                            + * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. + */ + @NotNull + @Builder.Default + private Map scopes = new HashMap<>(); + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java new file mode 100644 index 00000000..49ebd511 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java @@ -0,0 +1,36 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow; + +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * @version 3.0.0 + * @see OAuth Flow Object + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class PasswordOAuthFlow extends OAuthFlow { + + /** + * REQUIRED. + *

                            + * The token URL to be used for this flow. This MUST be in the form of a URL. + */ + @NotNull + private String tokenUrl = ""; + + @Builder(builderMethodName = "passwordBuilder") + public PasswordOAuthFlow(@Nullable String refreshUrl, + @NotNull Map scopes, + @NotNull String tokenUrl) { + super(refreshUrl, scopes); + this.tokenUrl = tokenUrl; + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt new file mode 100644 index 00000000..19d6840c --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt @@ -0,0 +1,27 @@ +package com.asyncapi.v3.security_scheme.oauth2 + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.security_scheme.SecurityScheme + +/** + * @author Pavel Bodiachevskii + */ +class OAuth2SecuritySchemeTest: SerDeTest() { + + override fun objectClass() = OAuth2SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/oauth2.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/oauth2 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json" + + override fun build(): SecurityScheme { + return OAuth2SecurityScheme.oauth2Builder() + .description("oauth2") + .flows(OAuthFlowTest().build()) + .scopes(listOf("write:pets", "read:pets")) + .build() + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuthFlowTest.kt new file mode 100644 index 00000000..1a943fa8 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/OAuthFlowTest.kt @@ -0,0 +1,28 @@ +package com.asyncapi.v3.security_scheme.oauth2 + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.security_scheme.oauth2.flow.* + +/** + * @author Pavel Bodiachevskii + */ +class OAuthFlowTest: SerDeTest() { + + override fun objectClass() = OAuthFlows::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/oauthFlows.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/oauthFlows - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json" + + override fun build(): OAuthFlows { + return OAuthFlows.builder() + .authorizationCode(AuthorizationCodeOAuthFlowTest().build()) + .clientCredentials(ClientCredentialsOAuthFlowTest().build()) + .implicit(ImplicitOAuthFlowTest().build()) + .password(PasswordOAuthFlowTest().build()) + .build() + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt new file mode 100644 index 00000000..01f543e3 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt @@ -0,0 +1,27 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow + +import com.asyncapi.v3.SerDeTest + +class AuthorizationCodeOAuthFlowTest: SerDeTest() { + + override fun objectClass() = AuthorizationCodeOAuthFlow::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json" + + override fun build(): AuthorizationCodeOAuthFlow { + return AuthorizationCodeOAuthFlow.authorizationCodeBuilder() + .authorizationUrl("https://example.com/api/oauth/dialog") + .tokenUrl("https://example.com/api/oauth/token") + .refreshUrl("https://example.com/api/oauth/refresh") + .scopes(mapOf( + Pair("write:pets", "modify pets in your account"), + Pair("read:pets", "read your pets") + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt new file mode 100644 index 00000000..ff2f0d93 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow + +import com.asyncapi.v3.SerDeTest + +class ClientCredentialsOAuthFlowTest: SerDeTest() { + + override fun objectClass() = ClientCredentialsOAuthFlow::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json" + + override fun build(): ClientCredentialsOAuthFlow { + return ClientCredentialsOAuthFlow.clientCredentialsBuilder() + .tokenUrl("https://example.com/api/oauth/token") + .refreshUrl("https://example.com/api/oauth/refresh") + .scopes(mapOf( + Pair("write:pets", "modify pets in your account"), + Pair("read:pets", "read your pets") + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt new file mode 100644 index 00000000..12cdc5df --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow + +import com.asyncapi.v3.SerDeTest + +class ImplicitOAuthFlowTest: SerDeTest() { + + override fun objectClass() = ImplicitOAuthFlow::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json" + + override fun build(): ImplicitOAuthFlow { + return ImplicitOAuthFlow.implicitBuilder() + .authorizationUrl("https://example.com/api/oauth/dialog") + .refreshUrl("https://example.com/api/oauth/refresh") + .scopes(mapOf( + Pair("write:pets", "modify pets in your account"), + Pair("read:pets", "read your pets") + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt new file mode 100644 index 00000000..b40c1eea --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow + +import com.asyncapi.v3.SerDeTest + +class OAuthFlowTest: SerDeTest() { + + override fun objectClass() = OAuthFlow::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/flow/oauthFlow.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json" + + override fun build(): OAuthFlow { + return OAuthFlow.builder() + .refreshUrl("https://example.com/api/oauth/refresh") + .scopes(mapOf( + Pair("write:pets", "modify pets in your account"), + Pair("read:pets", "read your pets") + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt new file mode 100644 index 00000000..531e97ad --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.security_scheme.oauth2.flow + +import com.asyncapi.v3.SerDeTest + +class PasswordOAuthFlowTest: SerDeTest() { + + override fun objectClass() = PasswordOAuthFlow::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json" + + override fun build(): PasswordOAuthFlow { + return PasswordOAuthFlow.passwordBuilder() + .tokenUrl("https://example.com/api/oauth/token") + .refreshUrl("https://example.com/api/oauth/refresh") + .scopes(mapOf( + Pair("write:pets", "modify pets in your account"), + Pair("read:pets", "read your pets") + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json new file mode 100644 index 00000000..46d99302 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json @@ -0,0 +1,14 @@ +{ + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "tokenUrl" : "https://example.com/api/oauth/token", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json new file mode 100644 index 00000000..19240f8f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json @@ -0,0 +1,15 @@ +{ + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json new file mode 100644 index 00000000..74711855 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json @@ -0,0 +1,9 @@ +{ + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json new file mode 100644 index 00000000..c211a2d9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json @@ -0,0 +1,13 @@ +{ + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json new file mode 100644 index 00000000..b5d31e51 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json @@ -0,0 +1,14 @@ +{ + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json new file mode 100644 index 00000000..0c1ea575 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json @@ -0,0 +1,8 @@ +{ + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json new file mode 100644 index 00000000..43c50d71 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json @@ -0,0 +1,13 @@ +{ + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json new file mode 100644 index 00000000..215f12ae --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json @@ -0,0 +1,14 @@ +{ + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json new file mode 100644 index 00000000..d0c0526a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json @@ -0,0 +1,8 @@ +{ + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json new file mode 100644 index 00000000..cb45fb58 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json @@ -0,0 +1,12 @@ +{ + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json new file mode 100644 index 00000000..511f29d1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json @@ -0,0 +1,13 @@ +{ + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json new file mode 100644 index 00000000..9b766a37 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json @@ -0,0 +1,7 @@ +{ + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json new file mode 100644 index 00000000..c211a2d9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json @@ -0,0 +1,13 @@ +{ + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json new file mode 100644 index 00000000..b5d31e51 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json @@ -0,0 +1,14 @@ +{ + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json new file mode 100644 index 00000000..0c1ea575 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json @@ -0,0 +1,8 @@ +{ + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json new file mode 100644 index 00000000..3e2171a7 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json @@ -0,0 +1,45 @@ +{ + "type" : "oauth2", + "description" : "oauth2", + "flows" : { + "implicit" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog" + }, + "password" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "clientCredentials" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "authorizationCode" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "tokenUrl" : "https://example.com/api/oauth/token" + } + }, + "scopes" : [ "write:pets", "read:pets" ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json new file mode 100644 index 00000000..2b4b9899 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json @@ -0,0 +1,46 @@ +{ + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json new file mode 100644 index 00000000..2adf3db5 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json @@ -0,0 +1,40 @@ +{ + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json new file mode 100644 index 00000000..6ed27910 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json @@ -0,0 +1,40 @@ +{ + "implicit" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog" + }, + "password" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "clientCredentials" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "authorizationCode" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json new file mode 100644 index 00000000..8bc0ba04 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json @@ -0,0 +1,41 @@ +{ + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json new file mode 100644 index 00000000..11671049 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json @@ -0,0 +1,35 @@ +{ + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } +} \ No newline at end of file From 1db05320b9ea4eb4f462789783a9365339b53025 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:24:56 +0400 Subject: [PATCH 100/210] feat(3.0.0): plain security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../PlainSecuritySchemeTest.kt | 25 +++++++++++++++++++ .../v3/security_scheme/plain - extended.json | 9 +++++++ .../plain - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/plain.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/PlainSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/plain - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/plain - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/plain.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index 86483da9..d1aff9d1 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -51,7 +51,7 @@ @JsonSubTypes.Type(value = HttpSecurityScheme.class, name = "http"), @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/PlainSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/PlainSecuritySchemeTest.kt new file mode 100644 index 00000000..9eca4fd4 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/PlainSecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class PlainSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/plain.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/plain - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/plain - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.PLAIN) + .description("plain") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - extended.json new file mode 100644 index 00000000..135a087a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "plain", + "description" : "plain", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - wrongly extended.json new file mode 100644 index 00000000..7cdcc873 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "plain", + "description": "plain", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/plain.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain.json new file mode 100644 index 00000000..9bda0b46 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/plain.json @@ -0,0 +1,4 @@ +{ + "type": "plain", + "description": "plain" +} \ No newline at end of file From 5a0182d2ce0b42934188776cecc6eae844e8afa5 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:26:15 +0400 Subject: [PATCH 101/210] feat(3.0.0): scramSha256 security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../ScramSha256SecuritySchemeTest.kt | 25 +++++++++++++++++++ .../scramSha256 - extended.json | 9 +++++++ .../scramSha256 - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/scramSha256.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha256SecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index d1aff9d1..b2dd8565 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -52,7 +52,7 @@ @JsonSubTypes.Type(value = OAuth2SecurityScheme.class, name = "oauth2"), @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), }) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha256SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha256SecuritySchemeTest.kt new file mode 100644 index 00000000..501f23f3 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha256SecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class ScramSha256SecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/scramSha256.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/scramSha256 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/scramSha256 - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.SCRAM_SHA256) + .description("scramSha256") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - extended.json new file mode 100644 index 00000000..c338b045 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "scramSha256", + "description" : "scramSha256", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - wrongly extended.json new file mode 100644 index 00000000..7042bea1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256 - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "scramSha256", + "description": "scramSha256", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256.json new file mode 100644 index 00000000..b6f35d52 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha256.json @@ -0,0 +1,4 @@ +{ + "type": "scramSha256", + "description": "scramSha256" +} \ No newline at end of file From 47c6ca69e918fe68fd80e530b5e6380010facc4d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:28:53 +0400 Subject: [PATCH 102/210] feat(3.0.0): scramSha512 security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../ScramSha512SecuritySchemeTest.kt | 25 +++++++++++++++++++ .../scramSha512 - extended.json | 9 +++++++ .../scramSha512 - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/scramSha512.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha512SecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index b2dd8565..eb1aacd1 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -53,7 +53,7 @@ @JsonSubTypes.Type(value = OpenIdConnectSecurityScheme.class, name = "openIdConnect"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), // @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), }) @EqualsAndHashCode(callSuper = true) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha512SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha512SecuritySchemeTest.kt new file mode 100644 index 00000000..1e26e677 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/ScramSha512SecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class ScramSha512SecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/scramSha512.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/scramSha512 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/scramSha512 - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.SCRAM_SHA512) + .description("scramSha512") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - extended.json new file mode 100644 index 00000000..17a21d8d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "scramSha512", + "description" : "scramSha512", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - wrongly extended.json new file mode 100644 index 00000000..50109d93 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512 - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "scramSha512", + "description": "scramSha512", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512.json new file mode 100644 index 00000000..52481a68 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/scramSha512.json @@ -0,0 +1,4 @@ +{ + "type": "scramSha512", + "description": "scramSha512" +} \ No newline at end of file From 63e5012ed517b23b944898b26e9a57b880928179 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:30:15 +0400 Subject: [PATCH 103/210] feat(3.0.0): gssapi security scheme --- .../v3/security_scheme/SecurityScheme.java | 2 +- .../GssapiSecuritySchemeTest.kt | 25 +++++++++++++++++++ .../v3/security_scheme/gssapi - extended.json | 9 +++++++ .../gssapi - wrongly extended.json | 10 ++++++++ .../json/v3/security_scheme/gssapi.json | 4 +++ 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/GssapiSecuritySchemeTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index eb1aacd1..795fcb20 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -54,7 +54,7 @@ @JsonSubTypes.Type(value = SecurityScheme.class, name = "plain"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha256"), @JsonSubTypes.Type(value = SecurityScheme.class, name = "scramSha512"), -// @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), + @JsonSubTypes.Type(value = SecurityScheme.class, name = "gssapi"), }) @EqualsAndHashCode(callSuper = true) public class SecurityScheme extends ExtendableObject { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/GssapiSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/GssapiSecuritySchemeTest.kt new file mode 100644 index 00000000..f0f20f3c --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/GssapiSecuritySchemeTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.security_scheme + +import com.asyncapi.v3.SerDeTest + +/** + * @author Pavel Bodiachevskii + */ +class GssapiSecuritySchemeTest: SerDeTest() { + + override fun objectClass() = SecurityScheme::class.java + + override fun baseObjectJson() = "/json/v3/security_scheme/gssapi.json" + + override fun extendedObjectJson() = "/json/v3/security_scheme/gssapi - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/security_scheme/gssapi - wrongly extended.json" + + override fun build(): SecurityScheme { + return SecurityScheme.builder() + .type(SecurityScheme.Type.GSSAPI) + .description("gssapi") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - extended.json new file mode 100644 index 00000000..636a9ddc --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - extended.json @@ -0,0 +1,9 @@ +{ + "type" : "gssapi", + "description" : "gssapi", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - wrongly extended.json new file mode 100644 index 00000000..7307abaf --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "type": "gssapi", + "description": "gssapi", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi.json new file mode 100644 index 00000000..b45a1317 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/gssapi.json @@ -0,0 +1,4 @@ +{ + "type": "gssapi", + "description": "gssapi" +} \ No newline at end of file From 9624430d26aa46cf3aa5f707f4ed38e767dd5302 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 27 Sep 2023 22:49:00 +0400 Subject: [PATCH 104/210] feat(3.0.0): ServerBinding --- .../v3/binding/server/ServerBinding.java | 14 +++ .../server/amqp/AMQPServerBinding.java | 21 ++++ .../server/amqp1/AMQP1ServerBinding.java | 21 ++++ .../anypointmq/AnypointMQServerBinding.java | 21 ++++ .../GooglePubSubServerBinding.java | 21 ++++ .../server/http/HTTPServerBinding.java | 21 ++++ .../server/ibmmq/IBMMQServerBinding.java | 102 ++++++++++++++++++ .../binding/server/jms/JMSServerBinding.java | 21 ++++ .../server/kafka/KafkaServerBinding.java | 52 +++++++++ .../server/mercure/MercureServerBinding.java | 21 ++++ .../server/mqtt/MQTTServerBinding.java | 68 ++++++++++++ .../mqtt/MQTTServerLastWillConfiguration.java | 65 +++++++++++ .../server/mqtt5/MQTT5ServerBinding.java | 29 +++++ .../server/nats/NATSServerBinding.java | 21 ++++ .../server/pulsar/PulsarServerBinding.java | 43 ++++++++ .../server/redis/RedisServerBinding.java | 21 ++++ .../binding/server/sns/SNSServerBinding.java | 21 ++++ .../server/solace/SolaceServerBinding.java | 44 ++++++++ .../binding/server/sqs/SQSServerBinding.java | 21 ++++ .../server/stomp/STOMPServerBinding.java | 21 ++++ .../server/ws/WebSocketsServerBinding.java | 21 ++++ .../server/ibmmq/IBMMQServerBindingTest.kt | 26 +++++ .../server/kafka/KafkaServerBindingTest.kt | 26 +++++ .../server/mqtt/MQTTServerBindingTest.kt | 33 ++++++ .../server/mqtt5/MQTT5ServerBindingTest.kt | 25 +++++ .../server/pulsar/PulsarServerBindingTest.kt | 25 +++++ .../server/solace/SolaceServerBindingTest.kt | 25 +++++ .../ibmmq/ibmmqServerBinding - extended.json | 13 +++ ...ibmmqServerBinding - wrongly extended.json | 14 +++ .../server/ibmmq/ibmmqServerBinding.json | 8 ++ .../kafka/kafkaServerBinding - extended.json | 10 ++ ...kafkaServerBinding - wrongly extended.json | 11 ++ .../server/kafka/kafkaServerBinding.json | 5 + .../mqtt/mqttServerBinding - extended.json | 17 +++ .../mqttServerBinding - wrongly extended.json | 18 ++++ .../server/mqtt/mqttServerBinding.json | 12 +++ .../mqtt5/mqtt5ServerBinding - extended.json | 9 ++ ...mqtt5ServerBinding - wrongly extended.json | 10 ++ .../server/mqtt5/mqtt5ServerBinding.json | 4 + .../pulsarServerBinding - extended.json | 9 ++ ...ulsarServerBinding - wrongly extended.json | 10 ++ .../server/pulsar/pulsarServerBinding.json | 4 + .../solaceServerBinding - extended.json | 9 ++ ...olaceServerBinding - wrongly extended.json | 10 ++ .../server/solace/solaceServerBinding.json | 4 + 45 files changed, 1027 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp/AMQPServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp1/AMQP1ServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/anypointmq/AnypointMQServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/googlepubsub/GooglePubSubServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/http/HTTPServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/jms/JMSServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/kafka/KafkaServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mercure/MercureServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerLastWillConfiguration.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/nats/NATSServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/pulsar/PulsarServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/redis/RedisServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sns/SNSServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/solace/SolaceServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sqs/SQSServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/stomp/STOMPServerBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ws/WebSocketsServerBinding.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/kafka/KafkaServerBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt/MQTTServerBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/pulsar/PulsarServerBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/solace/SolaceServerBindingTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java new file mode 100644 index 00000000..531cf95d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java @@ -0,0 +1,14 @@ +package com.asyncapi.v3.binding.server; + +import com.asyncapi.v3.ExtendableObject; +import lombok.EqualsAndHashCode; + +/** + * Describes AsyncAPI server binding. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +@EqualsAndHashCode(callSuper = true) +public class ServerBinding extends ExtendableObject { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp/AMQPServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp/AMQPServerBinding.java new file mode 100644 index 00000000..17294433 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp/AMQPServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.amqp; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes AMQP 0-9-1 server binding. + * + * @version 0.2.0 + * @see AMQP server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AMQPServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp1/AMQP1ServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp1/AMQP1ServerBinding.java new file mode 100644 index 00000000..a97dbc33 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/amqp1/AMQP1ServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.amqp1; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes AMQP 1.0 server binding. + * + * @version 0.1.0 + * @see AMQP server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AMQP1ServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/anypointmq/AnypointMQServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/anypointmq/AnypointMQServerBinding.java new file mode 100644 index 00000000..5771573a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/anypointmq/AnypointMQServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.anypointmq; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Anypoint MQ server binding. + * + * @version 0.0.1 + * @see Anypoint MQ server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AnypointMQServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/googlepubsub/GooglePubSubServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/googlepubsub/GooglePubSubServerBinding.java new file mode 100644 index 00000000..a8ff818f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/googlepubsub/GooglePubSubServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.googlepubsub; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Google Cloud Pub/Sub server binding. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class GooglePubSubServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/http/HTTPServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/http/HTTPServerBinding.java new file mode 100644 index 00000000..85c7e333 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/http/HTTPServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.http; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes HTTP server binding. + * + * @version 0.1.0 + * @see HTTP server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HTTPServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBinding.java new file mode 100644 index 00000000..5b424552 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBinding.java @@ -0,0 +1,102 @@ +package com.asyncapi.v3.binding.server.ibmmq; + +import com.asyncapi.v3.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ server binding. + *

                            + * This object contains server connection information about the IBM MQ server, referred to as an IBM MQ queue manager. + * This object contains additional connectivity information not possible to represent within the core AsyncAPI specification. + * + * @version 0.1.0 + * @see IBM MQ server binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ server binding.") +public class IBMMQServerBinding extends ServerBinding { + + /** + * Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used + * in high availability deployments. If omitted, the server object is not part of a group. + *

                            + * MUST NOT be specified for URI Scheme http:// or file:// + */ + @Nullable + @JsonProperty("groupId") + @JsonPropertyDescription("Defines a logical group of IBM MQ server objects. This is necessary to specify multi-endpoint configurations used in high availability deployments. If omitted, the server object is not part of a group.") + private String groupId; + + /** + * The name of the IBM MQ queue manager to bind to in the CCDT file. + *

                            + * MUST NOT be specified for URI Scheme ibmmq:// + */ + @Nullable + @Builder.Default + @JsonProperty(value = "ccdtQueueManagerName", defaultValue = "*") + @JsonPropertyDescription("The name of the IBM MQ queue manager to bind to in the CCDT file.") + private String ccdtQueueManagerName = "*"; + + /** + * The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. + * More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center. + *

                            + * MUST NOT be specified for protocol ibmmq or URI Scheme file:// or http:// + */ + @Nullable + @Builder.Default + @JsonProperty(value = "cipherSpec", defaultValue = "ANY") + @JsonPropertyDescription("The recommended cipher specification used to establish a TLS connection between the client and the IBM MQ queue manager. More information on SSL/TLS cipher specifications supported by IBM MQ can be found on this page in the IBM MQ Knowledge Center.") + private String cipherSpec = "ANY"; + + /** + * If multiEndpointServer is true then multiple connections can be workload balanced and applications should not make + * assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources + * is necessary, a single endpoint (multiEndpointServer = false) may be required. + *

                            + * MUST NOT be specified for URI Scheme file:// or http:// + */ + @Builder.Default + @JsonProperty(value = "multiEndpointServer", defaultValue = "false") + @JsonPropertyDescription("If multiEndpointServer is true then multiple connections can be workload balanced and applications should not make assumptions as to where messages are processed. Where message ordering, or affinity to specific message resources is necessary, a single endpoint (multiEndpointServer = false) may be required. MUST NOT be specified for URI Scheme file:// or http://") + private Boolean multiEndpointServer = false; + + /** + * The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. + * A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager. + * More information on heart beat interval can be found on this page in the IBM MQ Knowledge Center. + *

                            + * MUST be 0-999999 + */ + @Builder.Default + @javax.validation.constraints.Min( + value = 0, + message = "Heart beat interval must be greater or equals to 0" + ) + @javax.validation.constraints.Max( + value = 999999, + message = "Heart beat interval must be less or equals to 999999" + ) + @JsonProperty(value = "heartBeatInterval", defaultValue = "300") + @JsonPropertyDescription("The recommended value (in seconds) for the heartbeat sent to the queue manager during periods of inactivity. A value of zero means that no heart beats are sent. A value of 1 means that the client will use the value defined by the queue manager.") + private int heartBeatInterval = 300; + + /** + * The version of this binding. + */ + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/jms/JMSServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/jms/JMSServerBinding.java new file mode 100644 index 00000000..406ac082 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/jms/JMSServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.jms; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes JMS server binding. + * + * @version 0.1.0 + * @see JMS server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class JMSServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/kafka/KafkaServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/kafka/KafkaServerBinding.java new file mode 100644 index 00000000..b0122269 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/kafka/KafkaServerBinding.java @@ -0,0 +1,52 @@ +package com.asyncapi.v3.binding.server.kafka; + +import com.asyncapi.v3.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Kafka server binding. + * + * @version 0.4.0 + * @see Kafka server binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Kafka server binding.") +public class KafkaServerBinding extends ServerBinding { + + /** + * API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used) + */ + @Nullable + @JsonProperty("schemaRegistryUrl") + @JsonPropertyDescription("API URL for the Schema Registry used when producing Kafka messages (if a Schema Registry was used)") + private String schemaRegistryUrl; + + /** + * MUST NOT be specified if schemaRegistryUrl is not specified + *

                            + * The vendor of Schema Registry and Kafka serdes library that should be used (e.g. apicurio, confluent, ibm, or karapace) + */ + @Nullable + @JsonProperty("schemaRegistryVendor") + @JsonPropertyDescription("The vendor of Schema Registry and Kafka serdes library that should be used (e.g. apicurio, confluent, ibm, or karapace)") + private String schemaRegistryVendor; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.4.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mercure/MercureServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mercure/MercureServerBinding.java new file mode 100644 index 00000000..6919e41d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mercure/MercureServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.mercure; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Mercure server binding. + * + * @version 0.1.0 + * @see Mercure server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MercureServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerBinding.java new file mode 100644 index 00000000..29a261d0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerBinding.java @@ -0,0 +1,68 @@ +package com.asyncapi.v3.binding.server.mqtt; + +import com.asyncapi.v3.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes MQTT server binding. + *

                            + * Contains information about the server representation in MQTT. + * + * @version 0.1.0 + * @see MQTT server binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes MQTT server binding.") +public class MQTTServerBinding extends ServerBinding { + + /** + * The client identifier. + */ + @Nullable + @JsonProperty("clientId") + @JsonPropertyDescription("The client identifier.") + private String clientId; + + /** + * Whether to create a persisten connection or not. When false, the connection will be persistent. + */ + @Nullable + @JsonProperty("cleanSession") + @JsonPropertyDescription("Whether to create a persisten connection or not. When false, the connection will be persistent.") + private Boolean cleanSession; + + /** + * Last Will and Testament configuration. + */ + @Nullable + @JsonProperty("lastWill") + @JsonPropertyDescription("Last Will and Testament configuration.") + private MQTTServerLastWillConfiguration lastWill; + + /** + * Interval in seconds of the longest period of time the broker and the client can endure without sending a message. + */ + @Nullable + @JsonProperty("keepAlive") + @JsonPropertyDescription("Interval in seconds of the longest period of time the broker and the client can endure without sending a message.") + private Integer keepAlive; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerLastWillConfiguration.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerLastWillConfiguration.java new file mode 100644 index 00000000..99e63a48 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt/MQTTServerLastWillConfiguration.java @@ -0,0 +1,65 @@ +package com.asyncapi.v3.binding.server.mqtt; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes MQTT server last will configuration. + * + * @version 0.1.0 + * @see MQTT server binding + * @author Pavel Bodiachevskii + */ +@Data +@EqualsAndHashCode +@NoArgsConstructor +@AllArgsConstructor +public class MQTTServerLastWillConfiguration { + + /** + * The topic where the Last Will and Testament message will be sent. + */ + @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("The topic where the Last Will and Testament message will be sent.") + private String topic; + + /** + * 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. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "QoS must be greater or equals to 0." + ) + @javax.validation.constraints.Max( + value = 2, + message = "QoS must be lower or equals to 0." + ) + @JsonProperty("qos") + @JsonPropertyDescription("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.") + private Integer qos; + + /** + * Last Will message. + */ + @Nullable + @JsonProperty("message") + @JsonPropertyDescription("Last Will message.") + private String message; + + /** + * Whether the broker should retain the Last Will and Testament message or not. + */ + @Nullable + @JsonProperty("retain") + @JsonPropertyDescription("Whether the broker should retain the Last Will and Testament message or not.") + private Boolean retain; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBinding.java new file mode 100644 index 00000000..a9522e04 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBinding.java @@ -0,0 +1,29 @@ +package com.asyncapi.v3.binding.server.mqtt5; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.*; + +/** + * Describes MQTT 5 server binding. + * + * @version 0.2.0 + * @see MQTT 5 server binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTT5ServerBinding extends ServerBinding { + + /** + * TODO: support reference, Schema object + * Session Expiry Interval in seconds or a Schema Object containing the definition of the interval. + */ + private int sessionExpiryInterval; + + @Builder.Default + private String bindingVersion = "0.2.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/nats/NATSServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/nats/NATSServerBinding.java new file mode 100644 index 00000000..00331b04 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/nats/NATSServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.nats; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes NATS channel binding. + * + * @version 0.1.0 + * @see NATS server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NATSServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/pulsar/PulsarServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/pulsar/PulsarServerBinding.java new file mode 100644 index 00000000..b67d8ef0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/pulsar/PulsarServerBinding.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3.binding.server.pulsar; + +import com.asyncapi.v3.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Pulsar server binding. + * + * @version 0.1.0 + * @see Redis server binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Pulsar server binding.") +public class PulsarServerBinding extends ServerBinding { + + /** + * The pulsar tenant. If omitted, "public" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "tenant", defaultValue = "public") + @JsonPropertyDescription("The pulsar tenant. If omitted, \"public\" MUST be assumed.") + private String tenant = "public"; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/redis/RedisServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/redis/RedisServerBinding.java new file mode 100644 index 00000000..bea734b6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/redis/RedisServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.redis; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Redis server binding. + * + * @version 0.1.0 + * @see Redis server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RedisServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sns/SNSServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sns/SNSServerBinding.java new file mode 100644 index 00000000..87b7dc42 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sns/SNSServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.sns; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SNS server binding. + * + * @version 0.1.0 + * @see SNS server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SNSServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/solace/SolaceServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/solace/SolaceServerBinding.java new file mode 100644 index 00000000..c98e8470 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/solace/SolaceServerBinding.java @@ -0,0 +1,44 @@ +package com.asyncapi.v3.binding.server.solace; + +import com.asyncapi.v3.binding.server.ServerBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Solace server binding. + * + * @version 0.3.0 + * @see Solace server binding + * @author Dennis Brinley, Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Solace server binding.") +public class SolaceServerBinding extends ServerBinding { + + /** + * Message VPN of the Solace Broker + *

                            + * e.g. msgVpn: solace-broker-msg-vpn + */ + @Nullable + @JsonProperty("msgVpn") + @JsonPropertyDescription("Message VPN of the Solace Broker") + private String msgVpn; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.3.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sqs/SQSServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sqs/SQSServerBinding.java new file mode 100644 index 00000000..ce8f6962 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/sqs/SQSServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.sqs; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SQS server binding. + * + * @version 0.1.0 + * @see SQS server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SQSServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/stomp/STOMPServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/stomp/STOMPServerBinding.java new file mode 100644 index 00000000..871557c8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/stomp/STOMPServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.stomp; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes STOMP server binding. + * + * @version 0.1.0 + * @see STOMP server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class STOMPServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ws/WebSocketsServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ws/WebSocketsServerBinding.java new file mode 100644 index 00000000..b76ab214 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ws/WebSocketsServerBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.server.ws; + +import com.asyncapi.v3.binding.server.ServerBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes WebSockets server binding. + * + * @version 0.1.0 + * @see WebSockets server binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class WebSocketsServerBinding extends ServerBinding { +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBindingTest.kt new file mode 100644 index 00000000..67670a7b --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/ibmmq/IBMMQServerBindingTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.binding.server.ibmmq + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class IBMMQServerBindingTest: SerDeTest() { + + override fun objectClass() = IBMMQServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/ibmmq/ibmmqServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/ibmmq/ibmmqServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json" + + override fun build(): IBMMQServerBinding { + return IBMMQServerBinding.builder() + .groupId("PRODCLSTR1") + .cipherSpec("ANY_TLS12_OR_HIGHER") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/kafka/KafkaServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/kafka/KafkaServerBindingTest.kt new file mode 100644 index 00000000..dea2146f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/kafka/KafkaServerBindingTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.binding.server.kafka + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class KafkaServerBindingTest: SerDeTest() { + + override fun objectClass() = KafkaServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/kafka/kafkaServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/kafka/kafkaServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/kafka/kafkaServerBinding - wrongly extended.json" + + override fun build(): KafkaServerBinding { + return KafkaServerBinding.builder() + .schemaRegistryUrl("https://my-schema-registry.com") + .schemaRegistryVendor("confluent") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt/MQTTServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt/MQTTServerBindingTest.kt new file mode 100644 index 00000000..9dccffeb --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt/MQTTServerBindingTest.kt @@ -0,0 +1,33 @@ +package com.asyncapi.v3.binding.server.mqtt + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class MQTTServerBindingTest: SerDeTest() { + + override fun objectClass() = MQTTServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/mqtt/mqttServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/mqtt/mqttServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/mqtt/mqttServerBinding - wrongly extended.json" + + override fun build(): MQTTServerBinding { + return MQTTServerBinding.builder() + .clientId("guest") + .cleanSession(true) + .lastWill(MQTTServerLastWillConfiguration( + "/last-wills", + 2, + "Guest gone offline.", + false + )) + .keepAlive(60) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBindingTest.kt new file mode 100644 index 00000000..23cd7f3d --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/mqtt5/MQTT5ServerBindingTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.binding.server.mqtt5 + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class MQTT5ServerBindingTest: SerDeTest() { + + override fun objectClass() = MQTT5ServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/mqtt5/mqtt5ServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/mqtt5/mqtt5ServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json" + + override fun build(): MQTT5ServerBinding { + return MQTT5ServerBinding.builder() + .sessionExpiryInterval(60) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/pulsar/PulsarServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/pulsar/PulsarServerBindingTest.kt new file mode 100644 index 00000000..1daee16b --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/pulsar/PulsarServerBindingTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.binding.server.pulsar + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class PulsarServerBindingTest: SerDeTest() { + + override fun objectClass() = PulsarServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/pulsar/pulsarServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/pulsar/pulsarServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/pulsar/pulsarServerBinding - wrongly extended.json" + + override fun build(): PulsarServerBinding { + return PulsarServerBinding.builder() + .tenant("contoso") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/solace/SolaceServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/solace/SolaceServerBindingTest.kt new file mode 100644 index 00000000..a95a49d4 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/server/solace/SolaceServerBindingTest.kt @@ -0,0 +1,25 @@ +package com.asyncapi.v3.binding.server.solace + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class SolaceServerBindingTest: SerDeTest() { + + override fun objectClass() = SolaceServerBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/server/solace/solaceServerBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/server/solace/solaceServerBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/server/solace/solaceServerBinding - wrongly extended.json" + + override fun build(): SolaceServerBinding { + return SolaceServerBinding.builder() + .msgVpn("solace.private.net") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - extended.json new file mode 100644 index 00000000..53447913 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - extended.json @@ -0,0 +1,13 @@ +{ + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json new file mode 100644 index 00000000..81ed7a44 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json @@ -0,0 +1,14 @@ +{ + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding.json new file mode 100644 index 00000000..cde4b02d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/ibmmq/ibmmqServerBinding.json @@ -0,0 +1,8 @@ +{ + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - extended.json new file mode 100644 index 00000000..a0349c5c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - extended.json @@ -0,0 +1,10 @@ +{ + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - wrongly extended.json new file mode 100644 index 00000000..00eee56a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding.json new file mode 100644 index 00000000..cc2f24e8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/kafka/kafkaServerBinding.json @@ -0,0 +1,5 @@ +{ + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - extended.json new file mode 100644 index 00000000..304ed881 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - extended.json @@ -0,0 +1,17 @@ +{ + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - wrongly extended.json new file mode 100644 index 00000000..e3c8e972 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding - wrongly extended.json @@ -0,0 +1,18 @@ +{ + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding.json new file mode 100644 index 00000000..e5073c57 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt/mqttServerBinding.json @@ -0,0 +1,12 @@ +{ + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - extended.json new file mode 100644 index 00000000..1104cd11 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - extended.json @@ -0,0 +1,9 @@ +{ + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json new file mode 100644 index 00000000..ce682d11 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding.json new file mode 100644 index 00000000..1c422293 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/mqtt5/mqtt5ServerBinding.json @@ -0,0 +1,4 @@ +{ + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - extended.json new file mode 100644 index 00000000..de267c67 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - extended.json @@ -0,0 +1,9 @@ +{ + "tenant" : "contoso", + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - wrongly extended.json new file mode 100644 index 00000000..380c5cb2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "tenant": "contoso", + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding.json new file mode 100644 index 00000000..bc86f5c2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/pulsar/pulsarServerBinding.json @@ -0,0 +1,4 @@ +{ + "tenant": "contoso", + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - extended.json new file mode 100644 index 00000000..4e9101f6 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - extended.json @@ -0,0 +1,9 @@ +{ + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - wrongly extended.json new file mode 100644 index 00000000..f6e4672f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding.json new file mode 100644 index 00000000..1e86ad5a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/server/solace/solaceServerBinding.json @@ -0,0 +1,4 @@ +{ + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" +} \ No newline at end of file From a9f5b25b260b440688864f92958a78ee9fb9a4cf Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 28 Sep 2023 02:43:45 +0400 Subject: [PATCH 105/210] feat(3.0.0): Server --- .../server/ServerVariablesDeserializer.java | 25 ++ .../asyncapi/v3/_0_0/model/server/Server.java | 170 +++++++++++- .../v3/jackson/BindingsMapDeserializer.java | 44 +++ .../MapOfReferencesOrObjectsDeserializer.java | 80 ++++++ .../server/ServerBindingsDeserializer.java | 70 +++++ .../SecuritySchemesDeserializer.java | 24 ++ .../v3/_0_0/model/server/ServerTest.kt | 255 ++++++++++++++++++ .../3.0.0/model/server/server - extended.json | 104 +++++++ .../server/server - wrongly extended.json | 109 ++++++++ .../server with reference - extended.json | 107 ++++++++ ...ver with reference - wrongly extended.json | 108 ++++++++ .../model/server/server with reference.json | 102 +++++++ .../json/v3/3.0.0/model/server/server.json | 99 +++++++ 13 files changed, 1296 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServerVariablesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/BindingsMapDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/MapOfReferencesOrObjectsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/server/ServerBindingsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/security_scheme/SecuritySchemesDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServerVariablesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServerVariablesDeserializer.java new file mode 100644 index 00000000..2f31028a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServerVariablesDeserializer.java @@ -0,0 +1,25 @@ +package com.asyncapi.v3._0_0.jackson.model.server; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.server.ServerVariable; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes {@link com.asyncapi.v3._0_0.model.server.Server} variables map. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +public class ServerVariablesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return ServerVariable.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java index aae42ced..669f1668 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java @@ -1,4 +1,172 @@ package com.asyncapi.v3._0_0.model.server; -public class Server { +import com.asyncapi.v3.jackson.binding.server.ServerBindingsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.server.ServerVariablesDeserializer; +import com.asyncapi.v3.binding.server.ServerBinding; +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.jackson.security_scheme.SecuritySchemesDeserializer; +import com.asyncapi.v3.security_scheme.SecurityScheme; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * An object representing a message broker, a server or any other kind of computer program capable of sending and/or + * receiving data. This object is used to capture details such as URIs, protocols and security configuration. + * Variable substitution can be used so that some details, for example usernames and passwords, can be injected by + * code generation tools. + * + * @version 3.0.0 + * @see Server + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Server extends ExtendableObject { + + /** + * REQUIRED. + *

                            + * The server host name. It MAY include the port. This field supports Server Variables. + * Variable substitutions will be made when a variable is named in {braces}. + */ + @NotNull + @JsonProperty + @Builder.Default + private String host = ""; + + /** + * REQUIRED. + *

                            + * The protocol this URL supports for connection. Supported protocol include, but are not limited to: + * amqp, amqps, http, https, jms, kafka, kafka-secure, mqtt, secure-mqtt, stomp, stomps, ws, wss. + */ + @NotNull + @JsonProperty + @Builder.Default + private String protocol = ""; + + /** + * The version of the protocol used for connection. For instance: AMQP 0.9.1, HTTP 2.0, Kafka 1.0.0, etc. + */ + @Nullable + @JsonProperty + private String protocolVersion; + + /** + * The path to a resource in the host. This field supports Server Variables. + * Variable substitutions will be made when a variable is named in {braces}. + */ + @Nullable + @JsonProperty + private String pathname; + + /** + * An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text + * representation. + */ + @Nullable + @JsonProperty + private String description; + + /** + * A human-friendly title for the server. + */ + @Nullable + @JsonProperty + private String title; + + /** + * A short summary of the server. + */ + @Nullable + @JsonProperty + private String summary; + + /** + * A map between a variable name and its value. + * The value is used for substitution in the server's host and pathname template. + *

                            + * MUST BE: + *

                              + *
                            • {@link ServerVariable}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = ServerVariablesDeserializer.class) + private Map variables; + + /** + * A declaration of which security schemes can be used with this server. The list of values includes alternative + * security scheme objects that can be used. Only one of the security scheme objects need to be satisfied to + * authorize a connection or operation. + *

                            + * MUST BE: + *

                              + *
                            • {@link SecurityScheme}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = SecuritySchemesDeserializer.class) + private List security; + + /** + * A list of tags for logical grouping and categorization of servers. + *

                            + * MUST BE: + *

                              + *
                            • {@link Tag}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation of the exposed API. + *

                            + * MUST BE: + *

                              + *
                            • {@link ExternalDocumentation}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions + * for the server. + *

                            + * MUST be one of: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ServerBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ServerBindingsDeserializer.class) + private Map bindings; + } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/BindingsMapDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/BindingsMapDeserializer.java new file mode 100644 index 00000000..d4e782c6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/BindingsMapDeserializer.java @@ -0,0 +1,44 @@ +package com.asyncapi.v3.jackson; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * Deserializes AsyncAPI bindings map. + */ +public abstract class BindingsMapDeserializer extends JsonDeserializer> { + + public abstract Object chooseKnownPojo(String bindingKey, JsonNode binding, ObjectCodec objectCodec) throws IOException; + + @Override + public Map deserialize( + JsonParser p, + DeserializationContext ctxt + ) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + Map bindings = new HashMap<>(); + + node.fieldNames().forEachRemaining( + fieldName -> { + try { + bindings.put(fieldName, chooseKnownPojo(fieldName, node.get(fieldName), objectCodec)); + } catch (IOException e) { + e.printStackTrace(); + } + } + ); + + return bindings; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/MapOfReferencesOrObjectsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/MapOfReferencesOrObjectsDeserializer.java new file mode 100644 index 00000000..53d967a7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/MapOfReferencesOrObjectsDeserializer.java @@ -0,0 +1,80 @@ +package com.asyncapi.v3.jackson; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * Deserializes AsyncAPI map of parameters + * @param object + */ +public abstract class MapOfReferencesOrObjectsDeserializer extends JsonDeserializer> { + + abstract public Class objectTypeClass(); + + abstract public Class referenceClass(); + + @Override + public Map deserialize(JsonParser jsonParser, + DeserializationContext deserializationContext + ) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode map = objectCodec.readTree(jsonParser); + + Map parameters = new HashMap<>(); + + map.fieldNames().forEachRemaining( + fieldName -> { + /* + Problem: + Both, Reference class and Schema class have $ref field. + So, this is only reason why I receive next exception: + "com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: + Unrecognized field "title" (class com.asyncapi.v2._6_0.model.Reference), + not marked as ignorable (one known property: "$ref"])" + in case when Schema contains $ref. + Solution: + Try to deserialize reference. In case of exception, try to deserialize it as given ObjectType. In case of + one more exception, throw it. + TODO: Think how to improve. + */ + try { + parameters.put(fieldName, chooseKnownPojo(map.get(fieldName), objectCodec)); + } catch (IOException ignore) { + try { + parameters.put(fieldName, readAsObject(map.get(fieldName), objectCodec)); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + ); + + return parameters; + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (ref != null) { + return jsonParser.readValueAs(referenceClass()); + } else { + return jsonParser.readValueAs(objectTypeClass()); + } + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(objectTypeClass()); + } + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/server/ServerBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/server/ServerBindingsDeserializer.java new file mode 100644 index 00000000..c6cfbe04 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/server/ServerBindingsDeserializer.java @@ -0,0 +1,70 @@ +package com.asyncapi.v3.jackson.binding.server; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.binding.server.amqp.AMQPServerBinding; +import com.asyncapi.v3.binding.server.amqp1.AMQP1ServerBinding; +import com.asyncapi.v3.binding.server.anypointmq.AnypointMQServerBinding; +import com.asyncapi.v3.binding.server.googlepubsub.GooglePubSubServerBinding; +import com.asyncapi.v3.binding.server.http.HTTPServerBinding; +import com.asyncapi.v3.binding.server.ibmmq.IBMMQServerBinding; +import com.asyncapi.v3.binding.server.jms.JMSServerBinding; +import com.asyncapi.v3.binding.server.kafka.KafkaServerBinding; +import com.asyncapi.v3.binding.server.mercure.MercureServerBinding; +import com.asyncapi.v3.binding.server.mqtt.MQTTServerBinding; +import com.asyncapi.v3.binding.server.mqtt5.MQTT5ServerBinding; +import com.asyncapi.v3.binding.server.nats.NATSServerBinding; +import com.asyncapi.v3.binding.server.pulsar.PulsarServerBinding; +import com.asyncapi.v3.binding.server.redis.RedisServerBinding; +import com.asyncapi.v3.binding.server.sns.SNSServerBinding; +import com.asyncapi.v3.binding.server.solace.SolaceServerBinding; +import com.asyncapi.v3.binding.server.sqs.SQSServerBinding; +import com.asyncapi.v3.binding.server.stomp.STOMPServerBinding; +import com.asyncapi.v3.binding.server.ws.WebSocketsServerBinding; +import com.asyncapi.v3.jackson.BindingsMapDeserializer; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; + +/** + * Serializes server bindings map. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +public class ServerBindingsDeserializer extends BindingsMapDeserializer { + + @Override + public Object chooseKnownPojo(String bindingKey, JsonNode binding, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = binding.traverse(objectCodec)) { + if (binding.get("$ref" ) != null) { + return jsonParser.readValueAs(Reference.class); + } + + switch (bindingKey) { + case "amqp": return jsonParser.readValueAs(AMQPServerBinding.class); + case "amqp1": return jsonParser.readValueAs(AMQP1ServerBinding.class); + case "anypointmq": return jsonParser.readValueAs(AnypointMQServerBinding.class); + case "googlepubsub": return jsonParser.readValueAs(GooglePubSubServerBinding.class); + case "http": return jsonParser.readValueAs(HTTPServerBinding.class); + case "ibmmq": return jsonParser.readValueAs(IBMMQServerBinding.class); + case "jms": return jsonParser.readValueAs(JMSServerBinding.class); + case "kafka": return jsonParser.readValueAs(KafkaServerBinding.class); + case "mercure": return jsonParser.readValueAs(MercureServerBinding.class); + case "mqtt": return jsonParser.readValueAs(MQTTServerBinding.class); + case "mqtt5": return jsonParser.readValueAs(MQTT5ServerBinding.class); + case "nats": return jsonParser.readValueAs(NATSServerBinding.class); + case "pulsar": return jsonParser.readValueAs(PulsarServerBinding.class); + case "redis": return jsonParser.readValueAs(RedisServerBinding.class); + case "sns": return jsonParser.readValueAs(SNSServerBinding.class); + case "solace": return jsonParser.readValueAs(SolaceServerBinding.class); + case "sqs": return jsonParser.readValueAs(SQSServerBinding.class); + case "stomp": return jsonParser.readValueAs(STOMPServerBinding.class); + case "ws": return jsonParser.readValueAs(WebSocketsServerBinding.class); + default: return null; + } + } + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/security_scheme/SecuritySchemesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/security_scheme/SecuritySchemesDeserializer.java new file mode 100644 index 00000000..93a1429b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/security_scheme/SecuritySchemesDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3.jackson.security_scheme; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.jackson.ListOfReferencesOrObjectsDeserializer; +import com.asyncapi.v3.security_scheme.SecurityScheme; + +/** + * Deserializes security schemes. + * + * @author Pavel Bodiachevskii + */ +public class SecuritySchemesDeserializer extends ListOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return SecurityScheme.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerTest.kt new file mode 100644 index 00000000..cee89d7a --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/server/ServerTest.kt @@ -0,0 +1,255 @@ +package com.asyncapi.v3._0_0.model.server + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentationTest +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3.binding.server.amqp1.AMQP1ServerBinding +import com.asyncapi.v3.binding.server.anypointmq.AnypointMQServerBinding +import com.asyncapi.v3.binding.server.googlepubsub.GooglePubSubServerBinding +import com.asyncapi.v3.binding.server.http.HTTPServerBinding +import com.asyncapi.v3.binding.server.ibmmq.IBMMQServerBinding +import com.asyncapi.v3.binding.server.jms.JMSServerBinding +import com.asyncapi.v3.binding.server.kafka.KafkaServerBinding +import com.asyncapi.v3.binding.server.mercure.MercureServerBinding +import com.asyncapi.v3.binding.server.mqtt.MQTTServerBinding +import com.asyncapi.v3.binding.server.mqtt.MQTTServerLastWillConfiguration +import com.asyncapi.v3.binding.server.mqtt5.MQTT5ServerBinding +import com.asyncapi.v3.binding.server.nats.NATSServerBinding +import com.asyncapi.v3.binding.server.pulsar.PulsarServerBinding +import com.asyncapi.v3.binding.server.redis.RedisServerBinding +import com.asyncapi.v3.binding.server.sns.SNSServerBinding +import com.asyncapi.v3.binding.server.solace.SolaceServerBinding +import com.asyncapi.v3.binding.server.sqs.SQSServerBinding +import com.asyncapi.v3.binding.server.stomp.STOMPServerBinding +import com.asyncapi.v3.binding.server.ws.WebSocketsServerBinding +import com.asyncapi.v3.security_scheme.ApiKeySecuritySchemeTest +import com.asyncapi.v3.security_scheme.http.HttpSecuritySchemeBearerTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class ServerTest: SerDeTest() { + + override fun objectClass() = Server::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/server/server.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/server/server - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/server/server - wrongly extended.json" + + override fun build(): Server { + return Server.builder() + .host("{username}.gigantic-server.com:{port}/{basePath}") + .protocol("secure-mqtt") + .protocolVersion("5") + .pathname("/messages") + .description("The production API server") + .title("secure-mqtt API server") + .summary("API server") + .variables(mapOf( + Pair("username", ServerVariable.builder() + .defaultValue("demo") + .description("This value is assigned by the service provider, in this example `gigantic-server.com`") + .build()), + Pair("port", ServerVariable.builder() + .enumValues(listOf("8883", "8884")) + .defaultValue("8883") + .build()), + Pair("basePath", Reference("#/components/serverVariables/basePath")) + )) + .security(listOf( + ApiKeySecuritySchemeTest().build(), + HttpSecuritySchemeBearerTest().build() + )) + .tags(listOf( + Tag("env:staging", "This environment is a replica of the production environment", null) + )) + .externalDocs(ExternalDocumentationTest().build()) + .bindings(bindings()) + .build() + } + + companion object { + @JvmStatic + fun bindings(): Map { + return mapOf( + Pair("amqp", Reference("#/components/serverBindings/amqp")), + Pair("amqp1", AMQP1ServerBinding()), + Pair("anypointmq", AnypointMQServerBinding()), + Pair("googlepubsub", GooglePubSubServerBinding()), + Pair("http", HTTPServerBinding()), + Pair( + "ibmmq", + IBMMQServerBinding.builder() + .groupId("PRODCLSTR1") + .cipherSpec("ANY_TLS12_OR_HIGHER") + .build() + ), + Pair("jms", JMSServerBinding()), + Pair( + "kafka", + KafkaServerBinding.builder() + .schemaRegistryUrl("https://my-schema-registry.com") + .schemaRegistryVendor("confluent") + .build() + ), + Pair("mercure", MercureServerBinding()), + Pair( + "mqtt", + MQTTServerBinding.builder() + .clientId("guest") + .cleanSession(true) + .lastWill(MQTTServerLastWillConfiguration( + "/last-wills", + 2, + "Guest gone offline.", + false + )) + .keepAlive(60) + .build() + ), + Pair( + "mqtt5", + MQTT5ServerBinding.builder() + .sessionExpiryInterval(60) + .build() + ), + Pair("nats", NATSServerBinding()), + Pair( + "pulsar", + PulsarServerBinding.builder() + .tenant("contoso") + .build() + ), + Pair("redis", RedisServerBinding()), + Pair("sns", SNSServerBinding()), + Pair( + "solace", + SolaceServerBinding.builder() + .msgVpn("solace.private.net") + .build() + ), + Pair("sqs", SQSServerBinding()), + Pair("stomp", STOMPServerBinding()), + Pair("ws", WebSocketsServerBinding()), + ) + } + } + +} + +class ServerTestWithReference: SerDeTest() { + + override fun objectClass() = Server::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/server/server with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/server/server with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/server/server with reference - wrongly extended.json" + + override fun build(): Server { + return Server.builder() + .host("{username}.gigantic-server.com:{port}/{basePath}") + .protocol("secure-mqtt") + .protocolVersion("5") + .pathname("/messages") + .description("The production API server") + .title("secure-mqtt API server") + .summary("API server") + .variables(mapOf( + Pair("username", ServerVariable.builder() + .defaultValue("demo") + .description("This value is assigned by the service provider, in this example `gigantic-server.com`") + .build()), + Pair("port", ServerVariable.builder() + .enumValues(listOf("8883", "8884")) + .defaultValue("8883") + .build()), + Pair("basePath", Reference("#/components/serverVariables/basePath")) + )) + .security(listOf( + ApiKeySecuritySchemeTest().build(), + HttpSecuritySchemeBearerTest().build(), + Reference("#/components/securitySchemes/openId") + )) + .tags(listOf( + Tag("env:staging", "This environment is a replica of the production environment", null), + Reference("#/components/tags/tag_name") + )) + .externalDocs(Reference("#/components/externalDocs/externalDoc")) + .bindings(bindings()) + .build() + } + + companion object { + @JvmStatic + fun bindings(): Map { + return mapOf( + Pair("amqp", Reference("#/components/serverBindings/amqp")), + Pair("amqp1", AMQP1ServerBinding()), + Pair("anypointmq", AnypointMQServerBinding()), + Pair("googlepubsub", GooglePubSubServerBinding()), + Pair("http", HTTPServerBinding()), + Pair( + "ibmmq", + IBMMQServerBinding.builder() + .groupId("PRODCLSTR1") + .cipherSpec("ANY_TLS12_OR_HIGHER") + .build() + ), + Pair("jms", JMSServerBinding()), + Pair( + "kafka", + KafkaServerBinding.builder() + .schemaRegistryUrl("https://my-schema-registry.com") + .schemaRegistryVendor("confluent") + .build() + ), + Pair("mercure", MercureServerBinding()), + Pair( + "mqtt", + MQTTServerBinding.builder() + .clientId("guest") + .cleanSession(true) + .lastWill(MQTTServerLastWillConfiguration( + "/last-wills", + 2, + "Guest gone offline.", + false + )) + .keepAlive(60) + .build() + ), + Pair( + "mqtt5", + MQTT5ServerBinding.builder() + .sessionExpiryInterval(60) + .build() + ), + Pair("nats", NATSServerBinding()), + Pair( + "pulsar", + PulsarServerBinding.builder() + .tenant("contoso") + .build() + ), + Pair("redis", RedisServerBinding()), + Pair("sns", SNSServerBinding()), + Pair( + "solace", + SolaceServerBinding.builder() + .msgVpn("solace.private.net") + .build() + ), + Pair("sqs", SQSServerBinding()), + Pair("stomp", STOMPServerBinding()), + Pair("ws", WebSocketsServerBinding()), + ) + } + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json new file mode 100644 index 00000000..7857d6b2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json @@ -0,0 +1,104 @@ +{ + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - wrongly extended.json new file mode 100644 index 00000000..7abed521 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - wrongly extended.json @@ -0,0 +1,109 @@ +{ + "host": "{username}.gigantic-server.com:{port}/{basePath}", + "protocol": "secure-mqtt", + "protocolVersion": "5", + "pathname": "/messages", + "description": "The production API server", + "title": "secure-mqtt API server", + "summary": "API server", + "variables": { + "username": { + "default": "demo", + "description": "This value is assigned by the service provider, in this example `gigantic-server.com`" + }, + "port": { + "enum": [ + "8883", + "8884" + ], + "default": "8883" + }, + "basePath": { + "$ref": "#/components/serverVariables/basePath" + } + }, + "security": [ + { + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" + }, + { + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + ], + "tags": [ + { + "name": "env:staging", + "description": "This environment is a replica of the production environment" + } + ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings": { + "amqp": { + "$ref": "#/components/serverBindings/amqp" + }, + "amqp1": {}, + "anypointmq": {}, + "googlepubsub": {}, + "http": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" + }, + "jms": {}, + "kafka": { + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" + }, + "mercure": {}, + "mqtt": { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" + }, + "nats": {}, + "pulsar": { + "tenant": "contoso", + "bindingVersion": "0.1.0" + }, + "redis": {}, + "sns": {}, + "solace": { + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" + }, + "sqs": {}, + "stomp": {}, + "ws": {} + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json new file mode 100644 index 00000000..14969aaa --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json @@ -0,0 +1,107 @@ +{ + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - wrongly extended.json new file mode 100644 index 00000000..e0e49b6d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - wrongly extended.json @@ -0,0 +1,108 @@ +{ + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + }], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference.json new file mode 100644 index 00000000..3dffe38d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference.json @@ -0,0 +1,102 @@ +{ + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + }], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server.json new file mode 100644 index 00000000..387253d0 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server.json @@ -0,0 +1,99 @@ +{ + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } +} \ No newline at end of file From 250e413b3e6635f2f7066e4a95c6aa831d61a759 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 28 Sep 2023 23:23:53 +0400 Subject: [PATCH 106/210] feat(3.0.0): Channel parameter --- .../v3/_0_0/model/channel/Parameter.java | 56 +++++++++++++++++++ .../v3/_0_0/model/channel/ParameterTest.kt | 29 ++++++++++ .../model/channel/parameter - extended.json | 12 ++++ .../channel/parameter - wrongly extended.json | 23 ++++++++ .../v3/3.0.0/model/channel/parameter.json | 17 ++++++ 5 files changed, 137 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ParameterTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java new file mode 100644 index 00000000..c624bb4d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java @@ -0,0 +1,56 @@ +package com.asyncapi.v3._0_0.model.channel; + +import com.asyncapi.v3.ExtendableObject; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes a parameter included in a channel address. + * + * @version 3.0.0 + * @see Parameter + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Parameter extends ExtendableObject { + + /** + * An optional description for the parameter. CommonMark syntax MAY be used for rich text representation. + */ + @Nullable + private String description; + + /** + * The default value to use for substitution, and to send, if an alternate value is not supplied. + */ + @Nullable + @JsonProperty("default") + private String defaultValue; + + /** + * An enumeration of string values to be used if the substitution options are from a limited set. + */ + @Nullable + @JsonProperty("enum") + private List enumValues; + + /** + * An array of examples of the parameter value. + */ + @Nullable + private List examples; + + /** + * A runtime expression that specifies the location of the parameter value. + */ + @Nullable + private String location; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ParameterTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ParameterTest.kt new file mode 100644 index 00000000..b96bb44f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ParameterTest.kt @@ -0,0 +1,29 @@ +package com.asyncapi.v3._0_0.model.channel + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class ParameterTest: SerDeTest() { + + override fun objectClass() = Parameter::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/parameter.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/parameter - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/parameter - wrongly extended.json" + + override fun build(): Parameter { + return Parameter.builder() + .description("Id of the user.") + .defaultValue("0e822ca6-5311-4d4c-b409-993a1820e689") + .enumValues(listOf("0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0")) + .examples(listOf("0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0")) + .location("\$message.payload#/user/id") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - extended.json new file mode 100644 index 00000000..21886304 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - extended.json @@ -0,0 +1,12 @@ +{ + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - wrongly extended.json new file mode 100644 index 00000000..e51b19cc --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter - wrongly extended.json @@ -0,0 +1,23 @@ +{ + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter.json new file mode 100644 index 00000000..da2f7860 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/parameter.json @@ -0,0 +1,17 @@ +{ + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" +} \ No newline at end of file From 1d2d6d2265b31965e56cf7495437d9151a874b1e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:09:49 +0400 Subject: [PATCH 107/210] feat(3.0.0): Schema --- .../java/com/asyncapi/v3/schema/Schema.java | 691 ++++++++++++++++++ 1 file changed, 691 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java new file mode 100644 index 00000000..7085d8e1 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java @@ -0,0 +1,691 @@ +package com.asyncapi.v3.schema; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.jackson.schema.SchemasAdditionalPropertiesDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +// TODO: Finish. Not all properties are present. +// TODO: Write tests + +/** + * The Schema Object allows the definition of input and output data types. These types can be objects, + * but also primitives and arrays. This object is a superset of the JSON Schema Specification Draft 07. + *
                            + * Further information about the properties can be found in JSON Schema Core and JSON Schema Validation. + * Unless stated otherwise, the property definitions follow the JSON Schema specification as referenced here. + *

                            + * The AsyncAPI Schema Object is a JSON Schema vocabulary which extends JSON Schema Core and Validation vocabularies. + * As such, any keyword available for those vocabularies is by definition available in AsyncAPI, and will work the + * exact same way, including but not limited to defined properties. + *

                            + * New properties may appear in this class after community requests. + * + * @see AnyncAPI Schema Object + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Schema extends ExtendableObject { + + /* + Schema Annotations + + Schema validation is a useful mechanism for annotating instance data + with additional information. The rules for determining when and how + annotations are associated with an instance are outlined in section + 3.3. + + These general-purpose annotation keywords provide commonly used + information for documentation and user interface display purposes. + They are not intended to form a comprehensive set of features. + Rather, additional vocabularies can be defined for more complex + annotation-based applications. + */ + + /** + * The value of these keyword MUST be a string. + *

                            + * This keywords can be used to decorate a user interface with information about the data produced by this user + * interface. + *

                            + * A title will preferably be short + */ + @Nullable + @JsonProperty + public String title; + + /** + * The value of these keyword MUST be a string. + *

                            + * This property definition was adjusted to the AsyncAPI Specification. + * CommonMark syntax can be used for rich text representation. + *

                            + * This keywords can be used to decorate a user interface with information about the data produced by this user + * interface. + *

                            + * A description will provide explanation about the purpose of the instance described by this schema. + */ + @Nullable + @JsonProperty + public String description; + + /** + * There are no restrictions placed on the value of this keyword. When multiple occurrences of this keyword are + * applicable to a single sub-instance, implementations SHOULD remove duplicates. + *

                            + * This keyword can be used to supply a default JSON value associated with a particular schema. + * It is RECOMMENDED that a default value be valid against the associated schema. + *

                            + * This property definition was adjusted to the AsyncAPI Specification. + * The default value represents what would be assumed by the consumer of the input as the value of the schema if one + * is not provided. Unlike JSON Schema, the value MUST conform to the defined type for the Schema Object defined at + * the same level. For example, of type is string, then default can be "foo" but cannot be 1. + */ + @Nullable + @JsonProperty("default") + public Object defaultValue; + + /** + * The value of this keyword MUST be a boolean. When multiple occurrences of this keyword are applicable to a + * single sub-instance, the resulting value MUST be true if any occurrence specifies a true value, and MUST be false otherwise. + *

                            + * If "readOnly" has a value of boolean true, it indicates that the value of the instance is managed exclusively by the owning authority, + * and attempts by an application to modify the value of this property are expected to be ignored or rejected by that owning authority. + *

                            + * An instance document that is marked as "readOnly for the entire document MAY be ignored if sent to the owning authority, or MAY + * result in an error, at the authority's discretion. + *

                            + * For example, "readOnly" would be used to mark a database-generated serial number as read-only, while "writeOnly" would be used to mark a + * password input field. + *

                            + * This keyword can be used to assist in user interface instance generation. In particular, an application MAY choose to use a widget + * that hides input values as they are typed for write-only fields. + *

                            + * Omitting this keyword has the same behavior as values of false. + */ + @Nullable + @JsonProperty + public Boolean readOnly; + + /** + * The value of this keyword MUST be a boolean. When multiple occurrences of this keyword are applicable to a + * single sub-instance, the resulting value MUST be true if any occurrence specifies a true value, and MUST be false otherwise. + *

                            + * If "writeOnly" has a value of boolean true, it indicates that the value is never present when the instance is retrieved from the owning + * authority. It can be present when sent to the owning authority to update or create the document (or the resource it represents), but it + * will not be included in any updated or newly created version of the instance. + *

                            + * An instance document that is marked as "writeOnly" for the entire document MAY be returned as a blank document of some sort, or MAY + * produce an error upon retrieval, or have the retrieval request ignored, at the authority's discretion. + *

                            + * This keyword can be used to assist in user interface instance generation. In particular, an application MAY choose to use a widget + * that hides input values as they are typed for write-only fields. + *

                            + * Omitting this keyword has the same behavior as values of false. + */ + @Nullable + @JsonProperty + public Boolean writeOnly; + + /** + * The value of this keyword MUST be an array. There are no restrictions placed on the values within the array. + * When multiple occurrences of this keyword are applicable to a single sub-instance, implementations MUST provide + * a flat array of all values rather than an array of arrays. + *

                            + * This keyword can be used to provide sample JSON values associated with a particular schema, for the purpose of + * illustrating usage. It is RECOMMENDED that these values be valid against the associated schema. + *

                            + * Implementations MAY use the value(s) of "default", if present, as an additional example. If "examples" is absent, + * "default" MAY still be used in this manner. + */ + @Nullable + @JsonProperty + public List examples; + + @Nullable + @JsonProperty("$ref") + private String ref; + + /* + String-Encoding Non-JSON Data + + Foreword + + Properties defined in this section indicate that an instance contains + non-JSON data encoded in a JSON string. They describe the type of + content and how it is encoded. + + These properties provide additional information required to interpret + JSON data as rich multimedia documents. + + Implementation Requirements + + The content keywords function as both annotations (Section 3.3) and + as assertions (Section 3.2). While no special effort is required to + implement them as annotations conveying how applications can + interpret the data in the string, implementing validation of + conformance to the media type and encoding is non-trivial. + + Implementations MAY support the "contentMediaType" and + "contentEncoding" keywords as validation assertions. Should they + choose to do so, they SHOULD offer an option to disable validation + for these keywords. + */ + + /** + * If the instance value is a string, this property defines that the string SHOULD be interpreted as binary data and + * decoded using the encoding named by this property. RFC 2045, Sec 6.1 [RFC2045] lists the possible values for this property. + *

                            + * The value of this property MUST be a string. + *

                            + * The value of this property SHOULD be ignored if the instance described is not a string. + */ + @Nullable + @JsonProperty + private String contentEncoding; + + /** + * The value of this property must be a media type, as defined by RFC 2046 [RFC2046]. This property defines the media + * type of instances which this schema defines. + *

                            + * The value of this property MUST be a string. + *

                            + * The value of this property SHOULD be ignored if the instance described is not a string. + *

                            + * If the "contentEncoding" property is not present, but the instance value is a string, then the value of this property SHOULD specify a + * text document type, and the character set SHOULD be the character set into which the JSON string value was decoded (for which the default + * is Unicode). + */ + @Nullable + @JsonProperty + private String contentMediaType; + + /* + Validation. + */ + + /* + Validation Keywords for Any Instance Type + */ + + /** + * The value of this keyword MUST be either a string or an array. If it is an array, elements of the array MUST + * be strings and MUST be unique. + *
                            + * String values MUST be one of the six primitive types ("null", "boolean", "object", "array", "number", or "string"), + * or "integer" which matches any number with a zero fractional part. + *
                            + * An instance validates if and only if the instance is in any of the sets listed for this keyword. + * + */ + @Nullable + @JsonProperty + public Object type; + + /** + * The value of this keyword MUST be an array. This array SHOULD have at least one element. Elements in the array SHOULD be unique. + *
                            + * An instance validates successfully against this keyword if its value is equal to one of the elements in this keyword's array value. + *
                            + * Elements in the array might be of any value, including null. + */ + @Nullable + @JsonProperty("enum") + public List enumValue; + + /** + * The value of this keyword MAY be of any type, including null. + *
                            + * An instance validates successfully against this keyword if its value is equal to the value of the keyword. + */ + @Nullable + @JsonProperty("const") + public Object constValue; + + /* + Validation Keywords for Numeric Instances (number and integer) + */ + + /** + * The value of "multipleOf" MUST be a number, strictly greater than 0. + *
                            + * A numeric instance is valid only if division by this keyword's value results in an integer. + */ + @Nullable + @JsonProperty + public Integer multipleOf; + + /** + * The value of "maximum" MUST be a number, representing an inclusive upper limit for a numeric instance. + *
                            + * If the instance is a number, then this keyword validates only if the instance is less than or exactly equal to "maximum". + */ + @Nullable + @JsonProperty + public BigDecimal maximum; + + /** + * The value of "exclusiveMaximum" MUST be number, representing an exclusive upper limit for a numeric instance. + *
                            + * If the instance is a number, then the instance is valid only if it has a value strictly less than (not equal to) "exclusiveMaximum". + */ + @Nullable + @JsonProperty + public BigDecimal exclusiveMaximum; + + /** + * The value of "minimum" MUST be a number, representing an inclusive lower limit for a numeric instance. + *
                            + * If the instance is a number, then this keyword validates only if the instance is greater than or exactly equal to "minimum". + */ + @Nullable + @JsonProperty + public BigDecimal minimum; + + /** + * The value of "exclusiveMinimum" MUST be number, representing an exclusive lower limit for a numeric instance. + *
                            + * If the instance is a number, then the instance is valid only if it has a value strictly greater than (not equal to) "exclusiveMinimum". + */ + @Nullable + @JsonProperty + public BigDecimal exclusiveMinimum; + + /* + Validation Keywords for Strings + */ + + /** + * The value of this keyword MUST be a non-negative integer. + *
                            + * A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword. + *
                            + * The length of a string instance is defined as the number of its characters as defined by RFC 7159 [RFC7159]. + */ + @Nullable + @JsonProperty + public Integer maxLength; + + /** + * The value of this keyword MUST be a non-negative integer. + *
                            + * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword. + *
                            + * The length of a string instance is defined as the number of its characters as defined by RFC 7159 [RFC7159]. + *
                            + * Omitting this keyword has the same behavior as a value of 0. + */ + @Nullable + @JsonProperty + public Integer minLength; + + /** + * The value of this keyword MUST be a string. This string SHOULD be a valid regular expression, according + * to the ECMA 262 regular expression dialect. + *
                            + * A string instance is considered valid if the regular expression matches the instance successfully. + * Recall: regular expressions are not implicitly anchored. + */ + @Nullable + @JsonProperty + public String pattern; + + /* + Validation Keywords for Arrays + */ + + /** + * The value of "items" MUST be either a valid JSON Schema or an array of valid JSON Schemas. + *
                            + * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself. + *
                            + * If "items" is a schema, validation succeeds if all elements in the array successfully validate against that schema. + *
                            + * If "items" is an array of schemas, validation succeeds if each element of the instance validates against the schema at the same + * position, if any. + *
                            + * Omitting this keyword has the same behavior as an empty schema. + */ + @Nullable + @JsonProperty + public Object items; + + /** + * The value of "additionalItems" MUST be a valid JSON Schema. + *
                            + * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself. + *
                            + * If "items" is an array of schemas, validation succeeds if every instance element at a position greater than the size of "items" + * validates against "additionalItems". + *
                            + * Otherwise, "additionalItems" MUST be ignored, as the "items" schema (possibly the default value of an empty schema) is applied + * to all elements. + *
                            + * Omitting this keyword has the same behavior as an empty schema. + */ + @Nullable + public Schema additionalItems; + + /** + * The value of this keyword MUST be a non-negative integer. + *
                            + * An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword. + */ + @Nullable + @JsonProperty + public Integer maxItems; + + /** + * The value of this keyword MUST be a non-negative integer. + *
                            + * An array instance is valid against "minItems" if its size is greater than, or equal to, the value of this keyword. + *
                            + * Omitting this keyword has the same behavior as a value of 0. + */ + @Nullable + @JsonProperty + public Integer minItems; + + /** + * The value of this keyword MUST be a boolean. + *
                            + * If this keyword has boolean value false, the instance validates successfully. If it has boolean value true, + * the instance validates successfully if all of its elements are unique. + *
                            + * Omitting this keyword has the same behavior as a value of false. + */ + @Nullable + @JsonProperty + public Boolean uniqueItems; + + /** + * The value of this keyword MUST be a valid JSON Schema. + *
                            + * An array instance is valid against "contains" if at least one of its elements is valid against the given schema. + */ + @Nullable + @JsonProperty + public Schema contains; + + /* + Validation Keywords for Objects + */ + + /** + * The value of this keyword MUST be a non-negative integer. + *
                            + * An object instance is valid against "maxProperties" if its number of properties is less than, or equal to, + * the value of this keyword. + */ + @Nullable + @JsonProperty + public Integer maxProperties; + + /** + * The value of this keyword MUST be a non-negative integer. + *

                            + * An object instance is valid against "minProperties" if its number of properties is greater than, or equal to, + * the value of this keyword. + *

                            + * Omitting this keyword has the same behavior as a value of 0. + */ + @Nullable + @JsonProperty + public Integer minProperties; + + /** + * The value of this keyword MUST be an array. Elements of this array, if any, MUST be strings, and MUST be unique. + *

                            + * An object instance is valid against this keyword if every item in the array is the name of a property in the instance. + *

                            + * Omitting this keyword has the same behavior as an empty array. + */ + @Nullable + @JsonProperty + public List required; + + /** + * The value of "properties" MUST be an object. Each value of this object MUST be a valid JSON Schema. + *

                            + * This keyword determines how child instances validate for objects, and does not directly validate the immediate + * instance itself. + *

                            + * Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value, + * the child instance for that name successfully validates against the corresponding schema. + *

                            + * Omitting this keyword has the same behavior as an empty object. + */ + @Nullable + @JsonProperty + public Map properties; + + /** + * The value of "patternProperties" MUST be an object. Each property name of this object SHOULD be a valid regular + * expression, according to the ECMA 262 regular expression dialect. Each property value of this object MUST be a + * valid JSON Schema. + *

                            + * This keyword determines how child instances validate for objects, and does not directly validate the immediate + * instance itself. Validation of the primitive instance type against this keyword always succeeds. + *

                            + * Validation succeeds if, for each instance name that matches any regular expressions that appear as a property name + * in this keyword's value, the child instance for that name successfully validates against each schema that corresponds + * to a matching regular expression. + *

                            + * Omitting this keyword has the same behavior as an empty object. + */ + @Nullable + @JsonProperty + public Map patternProperties; + + /** + * The value of "additionalProperties" MUST be a valid JSON Schema. + *

                            + * This keyword determines how child instances validate for objects, and does not directly validate the immediate + * instance itself. + *

                            + * Validation with "additionalProperties" applies only to the child values of instance names that do not match any + * names in "properties", and do not match any regular expression in "patternProperties". + *

                            + * For all such properties, validation succeeds if the child instance validates against the "additionalProperties" schema. + *

                            + * Omitting this keyword has the same behavior as an empty schema. + */ + @Nullable + @JsonProperty + @JsonDeserialize(using = SchemasAdditionalPropertiesDeserializer.class) + public Object additionalProperties; + + /** + * [[CREF1: This keyword may be split into two, with the variation that uses an array of property names rather than a + * subschema getting a new name. The dual behavior is confusing and relatively difficult to implement. In the previous + * draft, we proposed dropping the keyword altogether, or dropping one of its forms, but we received feedback in support of + * keeping it. See issues #442 and #528 at https://github.com/json-schema-org/json-schema-spec/issues for further discussion. + * Further feedback is encouraged.]] + *

                            + * This keyword specifies rules that are evaluated if the instance is an object and contains a certain property. + *

                            + * This keyword's value MUST be an object. Each property specifies a dependency. Each dependency value MUST be an array + * or a valid JSON Schema. + *

                            + * If the dependency value is a subschema, and the dependency key is a property in the instance, the entire instance must validate + * against the dependency value. + *

                            + * If the dependency value is an array, each element in the array, if any, MUST be a string, and MUST be unique. If the dependency + * key is a property in the instance, each of the items in the dependency value must be a property that exists in the instance. + *

                            + * Omitting this keyword has the same behavior as an empty object. + */ + @Nullable + @JsonProperty + public Object dependencies; + + /** + * The value of "propertyNames" MUST be a valid JSON Schema. + *

                            + * If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema. + * Note the property name that the schema is testing will always be a string. + *

                            + * Omitting this keyword has the same behavior as an empty schema. + */ + @Nullable + @JsonProperty + public Schema propertyNames; + + /* + Keywords for Applying Subschemas Conditionally + + These keywords work together to implement conditional application of + a subschema based on the outcome of another subschema. + + These keywords MUST NOT interact with each other across subschema + boundaries. In other words, an "if" in one branch of an "allOf" MUST + NOT have an impact on a "then" or "else" in another branch. + + There is no default behavior for any of these keywords when they are + not present. In particular, they MUST NOT be treated as if present + with an empty schema, and when "if" is not present, both "then" and + "else" MUST be entirely ignored. + */ + + /** + * This keyword's value MUST be a valid JSON Schema. + *

                            + * This validation outcome of this keyword's subschema has no direct effect on the overall validation result. + * Rather, it controls which of the "then" or "else" keywords are evaluated. + *

                            + * Instances that successfully validate against this keyword's subschema MUST also be valid against the subschema + * value of the "then" keyword, if present. + *

                            + * Instances that fail to validate against this keyword's subschema MUST also be valid against the subschema value of + * the "else" keyword, if present. + *

                            + * If annotations (Section 3.3) are being collected, they are collected from this keyword's subschema in the usual way, + * including when the keyword is present without either "then" or "else". + */ + @JsonProperty("if") + @Nullable + public Schema ifValue; + + /** + * This keyword's value MUST be a valid JSON Schema. + *

                            + * When "if" is present, and the instance successfully validates against its subschema, then valiation succeeds against + * this keyword if the instance also successfully validates against this keyword's subschema. + *

                            + * This keyword has no effect when "if" is absent, or when the instance fails to validate against its subschema. + * Implementations MUST NOT evaluate the instance against this keyword, for either validation or annotation collection + * purposes, in such cases. + */ + @JsonProperty("then") + @Nullable + public Schema thenValue; + + /** + * This keyword's value MUST be a valid JSON Schema. + *

                            + * When "if" is present, and the instance fails to validate against its subschema, then valiation succeeds against this + * keyword if the instance successfully validates against this keyword's subschema. + *

                            + * This keyword has no effect when "if" is absent, or when the instance successfully validates against its subschema. + * Implementations MUST NOT evaluate the instance against this keyword, for either validation or annotation collection + * purposes, in such cases. + */ + @JsonProperty("else") + @Nullable + public Schema elseValue; + + /* + Keywords for Applying Subschemas With Boolean Logic + */ + + /** + * This keyword's value MUST be a non-empty array. Each item of the array MUST be a valid JSON Schema. + *

                            + * An instance validates successfully against this keyword if it validates successfully against all schemas defined + * by this keyword's value. + */ + @Nullable + @JsonProperty + public List allOf; + + /** + * This keyword's value MUST be a non-empty array. Each item of the array MUST be a valid JSON Schema. + *

                            + * An instance validates successfully against this keyword if it validates successfully against at least one schema + * defined by this keyword's value. + */ + @Nullable + @JsonProperty + public List anyOf; + + /** + * This keyword's value MUST be a non-empty array. Each item of the array MUST be a valid JSON Schema. + *

                            + * An instance validates successfully against this keyword if it validates successfully against exactly one schema + * defined by this keyword's value. + */ + @Nullable + @JsonProperty + public List oneOf; + + /** + * This keyword's value MUST be a valid JSON Schema. + *

                            + * An instance is valid against this keyword if it fails to validate successfully against the schema defined by this keyword. + */ + @Nullable + @JsonProperty + public Schema not; + + // Fields defined in AsyncAPI below + + /* + The following properties are taken from the JSON Schema definition but their definitions were adjusted to the AsyncAPI Specification. + */ + /** + * See Data Type Formats for further details. + * While relying on JSON Schema's defined formats, the AsyncAPI Specification offers a few additional predefined formats. + */ + @Nullable + @JsonProperty + public Object format; + + /* + In addition to the JSON Schema fields, the following AsyncAPI vocabulary fields MAY be used for further schema documentation: + */ + /** + * Adds support for polymorphism. The discriminator is the schema property name that is used to differentiate between + * other schema that inherit this schema. + *

                            + * The property name used MUST be defined at this schema and it MUST be in the required property list. + * When used, the value MUST be the name of this schema or any schema that inherits it. See Composition and Inheritance for more details. + */ + @Nullable + @JsonProperty + public String discriminator; + /** + * Additional external documentation for this schema. + */ + @Nullable + @JsonProperty + public ExternalDocumentation externalDocs; + + /** + * Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false. + */ + @Nullable + @JsonProperty + public Boolean deprecated; + +} From bbcbf4b664bdb796379d454fb773d6f83296adb4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:09:55 +0400 Subject: [PATCH 108/210] feat(3.0.0): Schema --- ...hemasAdditionalPropertiesDeserializer.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java new file mode 100644 index 00000000..270affd4 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java @@ -0,0 +1,36 @@ +package com.asyncapi.v3.jackson.schema; + +import com.asyncapi.v2.schema.Schema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; + +/** + * @author Guillaume LAMIRAND (guillaume.lamirand at graviteesource.com) + * @author GraviteeSource Team + */ +public class SchemasAdditionalPropertiesDeserializer extends JsonDeserializer { + + @Override + public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + return chooseKnownPojo(node, objectCodec); + } + + private Object chooseKnownPojo(JsonNode jsonNode, final ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (jsonNode.isBoolean()) { + return jsonNode.asBoolean(); + } else { + return jsonParser.readValueAs(Schema.class); + } + } + } +} From deddbd78236fb5d1e0e3b5905f677c11044df728 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:10:06 +0400 Subject: [PATCH 109/210] feat(3.0.0): Schema types --- .../main/java/com/asyncapi/v3/schema/Type.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/schema/Type.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Type.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Type.java new file mode 100644 index 00000000..957e6b30 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Type.java @@ -0,0 +1,16 @@ +package com.asyncapi.v3.schema; + +/** + * @author Pavel Bodiachevskii + */ +public class Type { + + public final static String NULL = "null"; + public final static String BOOLEAN = "boolean"; + public final static String OBJECT = "object"; + public final static String ARRAY = "array"; + public final static String NUMBER = "number"; + public final static String STRING = "string"; + public final static String INTEGER = "integer"; + +} From 16a05c97d7bbdd5235cb1f36d4cf6e03770c63ad Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:10:25 +0400 Subject: [PATCH 110/210] feat(3.0.0): Multi Format Schema --- .../asyncapi/v3/schema/MultiFormatSchema.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java new file mode 100644 index 00000000..64192dc5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java @@ -0,0 +1,51 @@ +package com.asyncapi.v3.schema; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.NotNull; + +/** + * The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports + * multiple schema formats or languages (e.g., JSON Schema, Avro, etc.). + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MultiFormatSchema extends ExtendableObject { + + /** + * Required. + *

                            + * A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, + * it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. + * In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object + * within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the + * initial reference. + * For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match. + *

                            + * Check out the supported schema formats table for more information. Custom values are allowed but their implementation is OPTIONAL. + * A custom value MUST NOT refer to one of the schema formats listed in the table. + *

                            + * When using Reference Objects within the schema, the schemaFormat of the referenced resource MUST match the schemaFormat + * of the schema containing the reference. + */ + @NotNull + private String schemaFormat; + + /** + * Required. + *

                            + * Definition of the message payload. + *

                            + * It can be of any type but defaults to Schema Object. + *

                            + * It MUST match the schema format defined in schemaFormat, including the encoding type. E.g., Avro should be + * inlined as either a YAML or JSON object instead of as a string to be parsed as YAML or JSON. Non-JSON-based + * schemas (e.g., Protobuf or XSD) MUST be inlined as a string. + */ + @NotNull + private Object schema; + +} From 732e555cbfc376d50e70246eee67dd9528647215 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:16:40 +0400 Subject: [PATCH 111/210] feat(3.0.0): CorrelationId --- .../model/channel/message/CorrelationId.java | 39 +++++++++++++++++++ .../channel/message/CorrelationIdTest.kt | 22 +++++++++++ .../message/correlationId - extended.json | 9 +++++ .../correlationId - wrongly extended.json | 10 +++++ .../model/channel/message/correlationId.json | 4 ++ 5 files changed, 84 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/CorrelationIdTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java new file mode 100644 index 00000000..09b97a06 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java @@ -0,0 +1,39 @@ +package com.asyncapi.v3._0_0.model.channel.message; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * An object that specifies an identifier at design time that can used for message tracing and correlation. + *
                            + * For specifying and computing the location of a Correlation ID, a runtime expression is used. + * + * @version 3.0.0 + * @see CorrelationId + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class CorrelationId extends ExtendableObject { + + /** + * An optional description of the identifier. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * REQUIRED. + *

                            + * A runtime expression that specifies the location of the correlation ID. + */ + @NotNull + @Builder.Default + private String location = ""; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/CorrelationIdTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/CorrelationIdTest.kt new file mode 100644 index 00000000..c4903647 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/CorrelationIdTest.kt @@ -0,0 +1,22 @@ +package com.asyncapi.v3._0_0.model.channel.message + +import com.asyncapi.v3.SerDeTest + +class CorrelationIdTest: SerDeTest() { + + override fun objectClass() = CorrelationId::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/correlationId.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/correlationId - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/correlationId - wrongly extended.json" + + override fun build(): CorrelationId { + return CorrelationId.builder() + .description("Default Correlation ID") + .location("\$message.header#/correlationId") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - extended.json new file mode 100644 index 00000000..47474f2f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - extended.json @@ -0,0 +1,9 @@ +{ + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - wrongly extended.json new file mode 100644 index 00000000..199ca7a9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "description": "Default Correlation ID", + "location": "$message.header#/correlationId", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId.json new file mode 100644 index 00000000..2e50f550 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/correlationId.json @@ -0,0 +1,4 @@ +{ + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" +} \ No newline at end of file From 1fcb1c58260a82efec89b1e6677b5d0c3d21e9b2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 00:32:21 +0400 Subject: [PATCH 112/210] feat(3.0.0): MessageExample --- .../model/channel/message/MessageExample.java | 43 +++++++++++++++++++ .../channel/message/MessageExampleTest.kt | 34 +++++++++++++++ .../message/messageExample - extended.json | 21 +++++++++ .../messageExample - wrongly extended.json | 22 ++++++++++ .../model/channel/message/messageExample.json | 16 +++++++ 5 files changed, 136 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageExampleTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java new file mode 100644 index 00000000..dd31f990 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java @@ -0,0 +1,43 @@ +package com.asyncapi.v3._0_0.model.channel.message; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * Message Example Object represents an example of a {@link Message} Object and MUST contain either headers and/or payload fields. + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MessageExample extends ExtendableObject { + + /** + * The value of this field MUST validate against the {@link Message#getHeaders()} headers field. + */ + @Nullable + public Map headers; + + /** + * The value of this field MUST validate against the Message {@link Message#getPayload()} field. + */ + @Nullable + public Map payload; + + /** + * A machine-friendly name. + */ + @Nullable + private String name; + + /** + * A short summary of what the example is about. + */ + @Nullable + private String summary; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageExampleTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageExampleTest.kt new file mode 100644 index 00000000..3537b2c7 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageExampleTest.kt @@ -0,0 +1,34 @@ +package com.asyncapi.v3._0_0.model.channel.message + +import com.asyncapi.v3.SerDeTest + +class MessageExampleTest: SerDeTest() { + + override fun objectClass() = MessageExample::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/messageExample.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageExample - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageExample - wrongly extended.json" + + override fun build(): MessageExample { + return MessageExample.builder() + .name("SimpleSignup") + .summary("A simple UserSignup example message") + .headers(mapOf( + Pair("correlationId", "my-correlation-id"), + Pair("applicationInstanceId", "myInstanceId") + )) + .payload(mapOf( + Pair("user", mapOf( + Pair("someUserKey", "someUserValue") + )), + Pair("signup", mapOf( + Pair("someSignupKey", "someSignupValue") + )) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - extended.json new file mode 100644 index 00000000..4eb8dfc9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - extended.json @@ -0,0 +1,21 @@ +{ + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - wrongly extended.json new file mode 100644 index 00000000..876390ff --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample - wrongly extended.json @@ -0,0 +1,22 @@ +{ + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample.json new file mode 100644 index 00000000..cec8a4ae --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageExample.json @@ -0,0 +1,16 @@ +{ + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } +} From 6a2f987859893090ba576e93b7e2bbbd98f9af63 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 29 Sep 2023 02:43:56 +0400 Subject: [PATCH 113/210] feat(3.0.0): MessageBinding --- .../v3/binding/message/MessageBinding.java | 13 +++ .../message/amqp/AMQPMessageBinding.java | 52 +++++++++ .../message/amqp1/AMQP1MessageBinding.java | 21 ++++ .../anypointmq/AnypointMQMessageBinding.java | 45 ++++++++ .../GooglePubSubMessageBinding.java | 62 +++++++++++ .../GooglePubSubMessageSchemaDefinition.java | 49 +++++++++ ...oglePubSubMessageSchemaDefinitionType.java | 23 ++++ .../message/http/HTTPMessageBinding.java | 44 ++++++++ .../message/ibmmq/IBMMQMessageBinding.java | 89 +++++++++++++++ .../message/ibmmq/IBMMQMessageType.java | 25 +++++ .../message/jms/JMSMessageBinding.java | 21 ++++ .../message/kafka/KafkaMessageBinding.java | 67 ++++++++++++ .../kafka/KafkaMessageSchemaIdLocation.java | 20 ++++ .../mercure/MercureMessageBinding.java | 21 ++++ .../message/mqtt/MQTTMessageBinding.java | 34 ++++++ .../message/mqtt5/MQTT5MessageBinding.java | 21 ++++ .../message/nats/NATSMessageBinding.java | 21 ++++ .../message/pulsar/PulsarMessageBinding.java | 23 ++++ .../message/redis/RedisMessageBinding.java | 21 ++++ .../message/sns/SNSMessageBinding.java | 21 ++++ .../message/solace/SolaceMessageBinding.java | 23 ++++ .../message/sqs/SQSMessageBinding.java | 21 ++++ .../message/stomp/STOMPMessageBinding.java | 21 ++++ .../message/ws/WebSocketsMessageBinding.java | 21 ++++ .../message/amqp/AMQPMessageBindingTest.kt | 22 ++++ .../AnypointMQMessageBindingTest.kt | 34 ++++++ .../GooglePubSubMessageBindingTest.kt | 24 ++++ .../message/http/HTTPMessageBindingTest.kt | 34 ++++++ .../message/ibmmq/IBMMQMessageBindingTest.kt | 24 ++++ .../message/kafka/KafkaMessageBindingTest.kt | 29 +++++ .../message/mqtt/MQTTMessageBindingTest.kt | 20 ++++ .../amqp/amqpMessageBinding - extended.json | 10 ++ ...amqpMessageBinding - wrongly extended.json | 11 ++ .../message/amqp/amqpMessageBinding.json | 5 + .../anypointMQMessageBinding - extended.json | 103 ++++++++++++++++++ ...ntMQMessageBinding - wrongly extended.json | 18 +++ .../anypointmq/anypointMQMessageBinding.json | 12 ++ ...googlePubSubMessageBinding - extended.json | 14 +++ ...bSubMessageBinding - wrongly extended.json | 13 +++ .../googlePubSubMessageBinding.json | 7 ++ .../http/httpMessageBinding - extended.json | 103 ++++++++++++++++++ ...httpMessageBinding - wrongly extended.json | 20 ++++ .../message/http/httpMessageBinding.json | 14 +++ .../ibmmq/ibmMQMessageBinding - extended.json | 12 ++ ...bmMQMessageBinding - wrongly extended.json | 13 +++ .../message/ibmmq/ibmMQMessageBinding.json | 7 ++ .../kafka/kafkaMessageBinding - extended.json | 58 ++++++++++ ...afkaMessageBinding - wrongly extended.json | 18 +++ .../message/kafka/kafkaMessageBinding.json | 12 ++ .../mqtt/mqttMessageBinding - extended.json | 8 ++ ...mqttMessageBinding - wrongly extended.json | 9 ++ .../message/mqtt/mqttMessageBinding.json | 3 + 52 files changed, 1436 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/MessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp/AMQPMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp1/AMQP1MessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/http/HTTPMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/jms/JMSMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageSchemaIdLocation.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mercure/MercureMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt5/MQTT5MessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/nats/NATSMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/pulsar/PulsarMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/redis/RedisMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sns/SNSMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/solace/SolaceMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sqs/SQSMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/stomp/STOMPMessageBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ws/WebSocketsMessageBinding.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/amqp/AMQPMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/http/HTTPMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/kafka/KafkaMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBindingTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/MessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/MessageBinding.java new file mode 100644 index 00000000..2f75d7d8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/MessageBinding.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.message; + +import com.asyncapi.v3.ExtendableObject; +import lombok.EqualsAndHashCode; + +/** + * Describes AsyncAPI message binding. + * + * @author Pavel Bodiachevskii + */ +@EqualsAndHashCode(callSuper = true) +public class MessageBinding extends ExtendableObject { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp/AMQPMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp/AMQPMessageBinding.java new file mode 100644 index 00000000..820202c6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp/AMQPMessageBinding.java @@ -0,0 +1,52 @@ +package com.asyncapi.v3.binding.message.amqp; + +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 message binding. + *

                            + * Contains information about the message representation in AMQP. + * + * @version 0.2.0 + * @see AMQP message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 message binding.") +public class AMQPMessageBinding extends MessageBinding { + + /** + * A MIME encoding for the message content. + */ + @Nullable + @JsonProperty("contentEncoding") + @JsonPropertyDescription("A MIME encoding for the message content.") + private String contentEncoding; + + /** + * Application-specific message type. + */ + @Nullable + @JsonProperty("messageType") + @JsonPropertyDescription("Application-specific message type.") + private String messageType; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.2.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp1/AMQP1MessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp1/AMQP1MessageBinding.java new file mode 100644 index 00000000..73617ca1 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/amqp1/AMQP1MessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.amqp1; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes AMQP 1.0 message binding. + * + * @version 0.1.0 + * @see AMQP message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AMQP1MessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBinding.java new file mode 100644 index 00000000..07f8b497 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBinding.java @@ -0,0 +1,45 @@ +package com.asyncapi.v3.binding.message.anypointmq; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Anypoint MQ message binding. + * + * @version 0.0.1 + * @see Anypoint MQ message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Anypoint MQ message binding.") +public class AnypointMQMessageBinding extends MessageBinding { + + /** + * A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers). + * This schema MUST be of type object and have a properties key. Examples of Anypoint MQ protocol headers are + * messageId and messageGroupId. + */ + @Nullable + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers). This schema MUST be of type object and have a properties key. Examples of Anypoint MQ protocol headers are messageId and messageGroupId.") + private Schema headers; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.0.1"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBinding.java new file mode 100644 index 00000000..5f6373de --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBinding.java @@ -0,0 +1,62 @@ +package com.asyncapi.v3.binding.message.googlepubsub; + +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Google Cloud Pub/Sub message binding. + *

                            + * The Message Binding Object is used to describe the Google Cloud Pub/Sub specific PubsubMessage details, alongside with + * pertintent parts of the Google Cloud Pub/Sub Schema Object, with AsyncAPI. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Google Cloud Pub/Sub message binding.") +public class GooglePubSubMessageBinding extends MessageBinding { + + /** + * If non-empty, identifies related messages for which publish order should be respected (For more information, see ordering messages.) + */ + @Nullable + @JsonProperty("orderingKey") + @JsonPropertyDescription("If non-empty, identifies related messages for which publish order should be respected (For more information, see https://cloud.google.com/pubsub/docs/ordering messages") + private String orderingKey; + + /** + * Attributes for this message (If this field is empty, the message must contain non-empty data. This can be used to + * filter messages on the subscription.) + */ + @Nullable + @JsonProperty("attributes") + @JsonPropertyDescription("Attributes for this message (If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.)") + private Object attributes; + + /** + * Describes the schema used to validate the payload of this message + */ + @Nullable + @JsonProperty("schema") + @JsonPropertyDescription("Describes the schema used to validate the payload of this message") + private GooglePubSubMessageSchemaDefinition schema; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java new file mode 100644 index 00000000..277061b3 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinition.java @@ -0,0 +1,49 @@ +package com.asyncapi.v3.binding.message.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; + +/** + * Describes Google Cloud Pub/Sub message schema definition. + *

                            + * The Schema Definition Object is used to describe the Google Cloud Pub/Sub Schema Object with AsyncAPI. + * While some of this information could be, or is, described using native AsyncAPI, for consistency it makes sense to + * provide this information here at all times, especially for cases where AsyncAPI does not natively support describing + * payloads using a supported Google Cloud Pub/Sub schema format like Protobuf. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes Google Cloud Pub/Sub message schema definition.") +public class GooglePubSubMessageSchemaDefinition { + + /** + * The name of the schema + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "name", required = true) + @JsonPropertyDescription("The name of the schema") + private String name = ""; + + /** + * The type of the schema + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "type", required = true) + @JsonPropertyDescription("The type of the schema") + private GooglePubSubMessageSchemaDefinitionType type = GooglePubSubMessageSchemaDefinitionType.PROTOBUF; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java new file mode 100644 index 00000000..f7dd4bc3 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageSchemaDefinitionType.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.message.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Google Cloud Pub/Sub message schema definition type. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub message binding + * @see Types of schemas + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Google Cloud Pub/Sub message schema definition type.") +public enum GooglePubSubMessageSchemaDefinitionType { + + @JsonProperty("avro") + AVRO, + + @JsonProperty("protobuf") + PROTOBUF + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/http/HTTPMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/http/HTTPMessageBinding.java new file mode 100644 index 00000000..664f1e40 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/http/HTTPMessageBinding.java @@ -0,0 +1,44 @@ +package com.asyncapi.v3.binding.message.http; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes HTTP message binding. + *

                            + * Contains information about the message representation in HTTP. + * + * @version 0.1.0 + * @see HTTP message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HTTPMessageBinding extends MessageBinding { + + /** + * A Schema object containing the definitions for each query parameter. This schema MUST be of type object + * and have a properties key.* + */ + @Nullable + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema headers; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBinding.java new file mode 100644 index 00000000..72efcf1a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBinding.java @@ -0,0 +1,89 @@ +package com.asyncapi.v3.binding.message.ibmmq; + +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ message binding. + *

                            + * This object contains information about the message representation in IBM MQ. + * + * @version 0.1.0 + * @see IBM MQ message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ message binding.") +public class IBMMQMessageBinding extends MessageBinding { + + /** + * The type of the message. + *

                            + * MUST be either string, jms or binary + */ + @Nullable + @Builder.Default + @JsonProperty(value = "type", defaultValue = "string") + @JsonPropertyDescription("The type of the message.") + private IBMMQMessageType type = IBMMQMessageType.STRING; + + /** + * Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma + * separated list. Supporting information on IBM MQ message formats can be found on this page in the IBM MQ Knowledge Center. + *

                            + * OPTIONAL if type = binary + *

                            + * headers MUST NOT be specified if type = string or jms + */ + @Nullable + @JsonProperty("headers") + @JsonPropertyDescription("Defines the IBM MQ message headers to include with this message. More than one header can be specified as a comma separated list.") + private String headers; + + /** + * Provides additional information for application developers: describes the message type or format. + *

                            + * The description field of the IBM MQ message binding object MAY include CommonMark markdown formatting. + * A minimum markdown syntax as described by CommonMark 0.27 is assumed. + */ + @Nullable + @JsonProperty("description") + @JsonPropertyDescription("Provides additional information for application developers: describes the message type or format.") + private String description; + + /** + * The recommended setting the client should use for the TTL (Time-To-Live) of the message. + * This is a period of time expressed in milliseconds and set by the application that puts the message. + * expiry values are API dependant e.g., MQI and JMS use different units of time and default values for unlimited. + * General information on IBM MQ message expiry can be found on this page in the IBM MQ Knowledge Center. + *

                            + * expiry value MUST be either zero (unlimited) or greater than zero. + */ + @Nullable + @Builder.Default + @javax.validation.constraints.Min( + value = 0, + message = "Expiry must be greater or equals to 0" + ) + @JsonProperty(value = "expiry", defaultValue = "0") + @JsonPropertyDescription("The recommended setting the client should use for the TTL (Time-To-Live) of the message. This is a period of time expressed in milliseconds and set by the application that puts the message. 'expiry' values are API dependant e.g., MQI and JMS use different units of time and default values for 'unlimited'. General information on IBM MQ message expiry can be found on this [page](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=mqmd-expiry-mqlong) in the IBM MQ Knowledge Center.") + private Integer expiry = 0; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageType.java new file mode 100644 index 00000000..171f8a2f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageType.java @@ -0,0 +1,25 @@ +package com.asyncapi.v3.binding.message.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes IBM MQ message type. + *

                            + * This object contains information about the message type in IBM MQ. + * + * @version 0.1.0 + * @see IBM MQ message binding + * @author Pavel Bodiachevskii + */ +public enum IBMMQMessageType { + + @JsonProperty("string") + STRING, + + @JsonProperty("jms") + JMS, + + @JsonProperty("binary") + BINARY + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/jms/JMSMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/jms/JMSMessageBinding.java new file mode 100644 index 00000000..f44eec50 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/jms/JMSMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.jms; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes JMS message binding. + * + * @version 0.1.0 + * @see JMS message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class JMSMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageBinding.java new file mode 100644 index 00000000..52070204 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageBinding.java @@ -0,0 +1,67 @@ +package com.asyncapi.v3.binding.message.kafka; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Kafka message binding. + *

                            + * Contains information about the message representation in Kafka. + * + * @version 0.1.0 + * @see Kafka message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class KafkaMessageBinding extends MessageBinding { + + /** + * The message key. + */ + @Nullable + @JsonProperty("key") + @JsonPropertyDescription("The message key.") + private Schema key; + + /** + * If a Schema Registry is used when performing this operation, tells where the id of schema is stored (e.g. header or payload). + */ + @Nullable + @JsonProperty("schemaIdLocation") + @JsonPropertyDescription("If a Schema Registry is used when performing this operation, tells where the id of schema is stored (e.g. header or payload).") + private KafkaMessageSchemaIdLocation schemaIdLocation; + + /** + * Number of bytes or vendor specific values when schema id is encoded in payload (e.g confluent/ apicurio-legacy / apicurio-new). + */ + @Nullable + @JsonProperty("schemaIdPayloadEncoding") + @JsonPropertyDescription("Number of bytes or vendor specific values when schema id is encoded in payload (e.g confluent/ apicurio-legacy / apicurio-new).") + private String schemaIdPayloadEncoding; + + /** + * Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied. + */ + @Nullable + @JsonProperty("schemaLookupStrategy") + @JsonPropertyDescription("Freeform string for any naming strategy class to use. Clients should default to the vendor default if not supplied.") + private String schemaLookupStrategy; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.4.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageSchemaIdLocation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageSchemaIdLocation.java new file mode 100644 index 00000000..e0a16f88 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/kafka/KafkaMessageSchemaIdLocation.java @@ -0,0 +1,20 @@ +package com.asyncapi.v3.binding.message.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Kafka message schema id location. + * + * @version 0.1.0 + * @see Kafka message binding + * @author Pavel Bodiachevskii + */ +public enum KafkaMessageSchemaIdLocation { + + @JsonProperty("header") + HEADER, + + @JsonProperty("payload") + PAYLOAD + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mercure/MercureMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mercure/MercureMessageBinding.java new file mode 100644 index 00000000..aa3ead1c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mercure/MercureMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.mercure; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Mercure message binding. + * + * @version 0.1.0 + * @see Mercure message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MercureMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBinding.java new file mode 100644 index 00000000..cbaa824d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBinding.java @@ -0,0 +1,34 @@ +package com.asyncapi.v3.binding.message.mqtt; + +import com.asyncapi.v3.binding.message.MessageBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes MQTT message binding. + *

                            + * Contains information about the message representation in MQTT. + * + * @version 0.1.0 + * @see MQTT message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTTMessageBinding extends MessageBinding { + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt5/MQTT5MessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt5/MQTT5MessageBinding.java new file mode 100644 index 00000000..e344426e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/mqtt5/MQTT5MessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.mqtt5; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes MQTT 5 message binding. + * + * @version 0.2.0 + * @see MQTT 5 message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTT5MessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/nats/NATSMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/nats/NATSMessageBinding.java new file mode 100644 index 00000000..8557fc15 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/nats/NATSMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.nats; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes NATS message binding. + * + * @version 0.1.0 + * @see NATS message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NATSMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/pulsar/PulsarMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/pulsar/PulsarMessageBinding.java new file mode 100644 index 00000000..257d9948 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/pulsar/PulsarMessageBinding.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.message.pulsar; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * Describes Pulsar message binding. + *

                            + * This object MUST NOT contain any properties. Its name is reserved for future use. + * + * @version 0.1.0 + * @see Pulsar message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class PulsarMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/redis/RedisMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/redis/RedisMessageBinding.java new file mode 100644 index 00000000..37b5980a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/redis/RedisMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.redis; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Redis message binding. + * + * @version 0.1.0 + * @see Redis message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RedisMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sns/SNSMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sns/SNSMessageBinding.java new file mode 100644 index 00000000..17a72455 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sns/SNSMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.sns; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SNS message binding. + * + * @version 0.1.0 + * @see SNS message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SNSMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/solace/SolaceMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/solace/SolaceMessageBinding.java new file mode 100644 index 00000000..29b24c2b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/solace/SolaceMessageBinding.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.message.solace; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Solace message binding. + * + * @version 0.3.0 + * @see Solace message binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SolaceMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sqs/SQSMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sqs/SQSMessageBinding.java new file mode 100644 index 00000000..9defa798 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/sqs/SQSMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.sqs; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SQS message binding. + * + * @version 0.1.0 + * @see SQS message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SQSMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/stomp/STOMPMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/stomp/STOMPMessageBinding.java new file mode 100644 index 00000000..3e786247 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/stomp/STOMPMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.stomp; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes STOMP message binding. + * + * @version 0.1.0 + * @see STOMP message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class STOMPMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ws/WebSocketsMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ws/WebSocketsMessageBinding.java new file mode 100644 index 00000000..24dd7274 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/message/ws/WebSocketsMessageBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.message.ws; + +import com.asyncapi.v3.binding.message.MessageBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes WebSockets message binding. + * + * @version 0.1.0 + * @see WebSockets message binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class WebSocketsMessageBinding extends MessageBinding { +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/amqp/AMQPMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/amqp/AMQPMessageBindingTest.kt new file mode 100644 index 00000000..46ce1df5 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/amqp/AMQPMessageBindingTest.kt @@ -0,0 +1,22 @@ +package com.asyncapi.v3.binding.message.amqp + +import com.asyncapi.v3.SerDeTest + +class AMQPMessageBindingTest: SerDeTest() { + + override fun objectClass() = AMQPMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/amqp/amqpMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/amqp/amqpMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/amqp/amqpMessageBinding - wrongly extended.json" + + override fun build(): AMQPMessageBinding { + return AMQPMessageBinding.builder() + .contentEncoding("gzip") + .messageType("user.signup") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBindingTest.kt new file mode 100644 index 00000000..610b2f74 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/anypointmq/AnypointMQMessageBindingTest.kt @@ -0,0 +1,34 @@ +package com.asyncapi.v3.binding.message.anypointmq + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type + +class AnypointMQMessageBindingTest: SerDeTest() { + + override fun objectClass() = AnypointMQMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/anypointmq/anypointMQMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json" + + override fun build(): AnypointMQMessageBinding { + return AnypointMQMessageBinding.builder() + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "correlationId", + Schema.builder() + .type(Type.STRING) + .description("Correlation ID set by application") + .build() + ) + )) + .build()) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt new file mode 100644 index 00000000..201aa44e --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt @@ -0,0 +1,24 @@ +package com.asyncapi.v3.binding.message.googlepubsub + +import com.asyncapi.v3.SerDeTest + +class GooglePubSubMessageBindingTest: SerDeTest() { + + override fun objectClass() = GooglePubSubMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json" + + override fun build(): GooglePubSubMessageBinding { + return GooglePubSubMessageBinding.builder() + .schema(GooglePubSubMessageSchemaDefinition( + "projects/your-project/schemas/message-avro", + GooglePubSubMessageSchemaDefinitionType.AVRO + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/http/HTTPMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/http/HTTPMessageBindingTest.kt new file mode 100644 index 00000000..2b52abc2 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/http/HTTPMessageBindingTest.kt @@ -0,0 +1,34 @@ +package com.asyncapi.v3.binding.message.http + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type + +class HTTPMessageBindingTest: SerDeTest() { + + override fun objectClass() = HTTPMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/http/httpMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/http/httpMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/http/httpMessageBinding - wrongly extended.json" + + override fun build(): HTTPMessageBinding { + return HTTPMessageBinding.builder() + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "Content-Type", + Schema.builder() + .type(Type.STRING) + .enumValue(listOf("application/json")) + .build() + ) + )) + .build()) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBindingTest.kt new file mode 100644 index 00000000..4924a3e5 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/ibmmq/IBMMQMessageBindingTest.kt @@ -0,0 +1,24 @@ +package com.asyncapi.v3.binding.message.ibmmq + +import com.asyncapi.v3.SerDeTest + +class IBMMQMessageBindingTest: SerDeTest() { + + override fun objectClass() = IBMMQMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/ibmmq/ibmMQMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/ibmmq/ibmMQMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json" + + override fun build(): IBMMQMessageBinding { + return IBMMQMessageBinding.builder() + .type(IBMMQMessageType.JMS) + .description("JMS stream message") + .headers("Content-Type: application/json") + .expiry(0) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/kafka/KafkaMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/kafka/KafkaMessageBindingTest.kt new file mode 100644 index 00000000..4331ecde --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/kafka/KafkaMessageBindingTest.kt @@ -0,0 +1,29 @@ +package com.asyncapi.v3.binding.message.kafka + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type + +class KafkaMessageBindingTest: SerDeTest() { + + override fun objectClass() = KafkaMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/kafka/kafkaMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/kafka/kafkaMessageBinding - wrongly extended.json" + + override fun build(): KafkaMessageBinding { + return KafkaMessageBinding.builder() + .key(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myKey")) + .build()) + .schemaIdLocation(KafkaMessageSchemaIdLocation.PAYLOAD) + .schemaIdPayloadEncoding("apicurio-new") + .schemaLookupStrategy("TopicIdStrategy") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBindingTest.kt new file mode 100644 index 00000000..d327ec4e --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/message/mqtt/MQTTMessageBindingTest.kt @@ -0,0 +1,20 @@ +package com.asyncapi.v3.binding.message.mqtt + +import com.asyncapi.v3.SerDeTest + +class MQTTMessageBindingTest: SerDeTest() { + + override fun objectClass() = MQTTMessageBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/message/mqtt/mqttMessageBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/message/mqtt/mqttMessageBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/message/mqtt/mqttMessageBinding - wrongly extended.json" + + override fun build(): MQTTMessageBinding { + return MQTTMessageBinding.builder() + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - extended.json new file mode 100644 index 00000000..98d5ef64 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - extended.json @@ -0,0 +1,10 @@ +{ + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - wrongly extended.json new file mode 100644 index 00000000..b3d1d1f1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding.json new file mode 100644 index 00000000..3a56f03e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/amqp/amqpMessageBinding.json @@ -0,0 +1,5 @@ +{ + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json new file mode 100644 index 00000000..32f0633d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json @@ -0,0 +1,103 @@ +{ + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json new file mode 100644 index 00000000..bbc0329e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json @@ -0,0 +1,18 @@ +{ + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding.json new file mode 100644 index 00000000..04509bbf --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding.json @@ -0,0 +1,12 @@ +{ + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json new file mode 100644 index 00000000..ba8ea89d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json @@ -0,0 +1,14 @@ +{ + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json new file mode 100644 index 00000000..2219970c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json @@ -0,0 +1,13 @@ +{ + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding.json new file mode 100644 index 00000000..511854ad --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding.json @@ -0,0 +1,7 @@ +{ + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json new file mode 100644 index 00000000..506a4b29 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json @@ -0,0 +1,103 @@ +{ + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - wrongly extended.json new file mode 100644 index 00000000..b4b71d4e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - wrongly extended.json @@ -0,0 +1,20 @@ +{ + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding.json new file mode 100644 index 00000000..5f7f5672 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding.json @@ -0,0 +1,14 @@ +{ + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - extended.json new file mode 100644 index 00000000..bf14dfb0 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - extended.json @@ -0,0 +1,12 @@ +{ + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json new file mode 100644 index 00000000..175d30fb --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json @@ -0,0 +1,13 @@ +{ + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding.json new file mode 100644 index 00000000..49697805 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/ibmmq/ibmMQMessageBinding.json @@ -0,0 +1,7 @@ +{ + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json new file mode 100644 index 00000000..8a8f68ce --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json @@ -0,0 +1,58 @@ +{ + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - wrongly extended.json new file mode 100644 index 00000000..37105e30 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - wrongly extended.json @@ -0,0 +1,18 @@ +{ + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding.json new file mode 100644 index 00000000..42340266 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding.json @@ -0,0 +1,12 @@ +{ + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - extended.json new file mode 100644 index 00000000..32459b79 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - extended.json @@ -0,0 +1,8 @@ +{ + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - wrongly extended.json new file mode 100644 index 00000000..a1ecfd51 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding - wrongly extended.json @@ -0,0 +1,9 @@ +{ + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding.json new file mode 100644 index 00000000..04dbf945 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/mqtt/mqttMessageBinding.json @@ -0,0 +1,3 @@ +{ + "bindingVersion": "0.1.0" +} \ No newline at end of file From 67ef603f86a1bef41a0b055b0583bcf74c1ca573 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 1 Oct 2023 19:58:07 +0400 Subject: [PATCH 114/210] feat(3.0.0): MessageTrait --- .../MessageCorrelationIdDeserializer.java | 23 + .../message/MessageHeadersDeserializer.java | 77 +++ .../model/channel/message/MessageTrait.java | 156 ++++++ .../message/MessageBindingsDeserializer.java | 68 +++ .../model/channel/message/MessageTraitTest.kt | 216 ++++++++ .../message/messageTrait - extended.json | 503 ++++++++++++++++++ .../messageTrait - wrongly extended.json | 156 ++++++ .../message/messageTrait 2 - extended.json | 377 +++++++++++++ .../messageTrait 2 - wrongly extended.json | 378 +++++++++++++ .../model/channel/message/messageTrait 2.json | 152 ++++++ ...essageTrait with reference - extended.json | 364 +++++++++++++ ...ait with reference - wrongly extended.json | 145 +++++ .../message/messageTrait with reference.json | 139 +++++ .../model/channel/message/messageTrait.json | 150 ++++++ 14 files changed, 2904 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/message/MessageBindingsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java new file mode 100644 index 00000000..7c0988c2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageCorrelationIdDeserializer.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3._0_0.jackson.model.channel.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId; +import com.asyncapi.v3.jackson.ReferenceOrObjectDeserializer; + +/** + * Serializes message correlation id. + * + * @author Pavel Bodiachevskii + */ +public class MessageCorrelationIdDeserializer extends ReferenceOrObjectDeserializer { + + @Override + public Class objectTypeClass() { + return CorrelationId.class; + } + + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java new file mode 100644 index 00000000..6bcb98c0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageHeadersDeserializer.java @@ -0,0 +1,77 @@ +package com.asyncapi.v3._0_0.jackson.model.channel.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.schema.MultiFormatSchema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; +import org.jetbrains.annotations.NotNull; + +import java.io.IOException; + +/** + * Serializes message traits list. + * + * @author Pavel Bodiachevskii + */ +public class MessageHeadersDeserializer extends JsonDeserializer { + + @Override + public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + /* + Problem: + Both, Reference class and Schema class have $ref field. + So, this is only reason why I receive next exception: + "com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: + Unrecognized field "title" (class com.asyncapi.v2._6_0.model.Reference), + not marked as ignorable (one known property: "$ref"])" + in case when Schema contains $ref. + Solution: + Try to deserialize reference. In case of exception, try to deserialize it as given ObjectType. In case of + one more exception, throw it. + TODO: Think how to improve. + */ + try { + return chooseKnownPojo(node, objectCodec); + } catch (UnrecognizedPropertyException unrecognizedPropertyException) { + return readAsObject(node, objectCodec); + } + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (isMultiFormatSchema(jsonNode)) { + return jsonParser.readValueAs(MultiFormatSchema.class); + } + + if (ref != null) { + return jsonParser.readValueAs(Reference.class); + } else { + return jsonParser.readValueAs(Schema.class); + } + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(Schema.class); + } + } + + private boolean isMultiFormatSchema(@NotNull JsonNode jsonNode) { + JsonNode schemaFormat = jsonNode.get("schemaFormat"); + JsonNode schema = jsonNode.get("schema"); + + return (schemaFormat != null) && (schema != null); + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java new file mode 100644 index 00000000..19417966 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java @@ -0,0 +1,156 @@ +package com.asyncapi.v3._0_0.model.channel.message; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageCorrelationIdDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageHeadersDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.binding.message.MessageBinding; +import com.asyncapi.v3.jackson.binding.message.MessageBindingsDeserializer; +import com.asyncapi.v3.schema.MultiFormatSchema; +import com.asyncapi.v3.schema.Schema; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * Describes a message received on a given channel and operation. + * + * @version 3.0.0 + * @see Message + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MessageTrait extends ExtendableObject { + + /** + * Unique string used to identify the message. + *

                            + * The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. + * Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to + * follow common programming naming conventions. + */ + @Nullable + private String messageId; + + /** + * Schema definition of the application headers. + *

                            + * Schema MUST be a map of key-value pairs. + *

                            + * It MUST NOT define the protocol headers. + *

                            + * If this is a Schema Object, then the schemaFormat will be assumed to + * be "application/vnd.aai.asyncapi+json;version=asyncapi" where the version + * is equal to the AsyncAPI Version String. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Schema}
                            • + *
                            • {@link MultiFormatSchema}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageHeadersDeserializer.class) + private Object headers; + + /** + * Definition of the correlation ID used for message tracing or matching. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link CorrelationId}
                            • + *
                            + */ + @JsonDeserialize(using = MessageCorrelationIdDeserializer.class) + private Object correlationId; + + /** + * The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type + * (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field. + */ + @Nullable + private String contentType; + + /** + * A machine-friendly name for the message. + */ + @Nullable + private String name; + + /** + * A human-friendly title for the message. + */ + @Nullable + private String title; + + /** + * A short summary of what the message is about. + */ + @Nullable + private String summary; + + /** + * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the message. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link MessageBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageBindingsDeserializer.class) + private Map bindings; + + /** + * List of examples. + */ + @Nullable + private List examples; + + /** + * A list of tags for logical grouping and categorization of messages. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation for this channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/message/MessageBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/message/MessageBindingsDeserializer.java new file mode 100644 index 00000000..a40a2fe1 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/message/MessageBindingsDeserializer.java @@ -0,0 +1,68 @@ +package com.asyncapi.v3.jackson.binding.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.binding.message.amqp.AMQPMessageBinding; +import com.asyncapi.v3.binding.message.amqp1.AMQP1MessageBinding; +import com.asyncapi.v3.binding.message.anypointmq.AnypointMQMessageBinding; +import com.asyncapi.v3.binding.message.googlepubsub.GooglePubSubMessageBinding; +import com.asyncapi.v3.binding.message.http.HTTPMessageBinding; +import com.asyncapi.v3.binding.message.ibmmq.IBMMQMessageBinding; +import com.asyncapi.v3.binding.message.jms.JMSMessageBinding; +import com.asyncapi.v3.binding.message.kafka.KafkaMessageBinding; +import com.asyncapi.v3.binding.message.mercure.MercureMessageBinding; +import com.asyncapi.v3.binding.message.mqtt.MQTTMessageBinding; +import com.asyncapi.v3.binding.message.mqtt5.MQTT5MessageBinding; +import com.asyncapi.v3.binding.message.nats.NATSMessageBinding; +import com.asyncapi.v3.binding.message.pulsar.PulsarMessageBinding; +import com.asyncapi.v3.binding.message.redis.RedisMessageBinding; +import com.asyncapi.v3.binding.message.sns.SNSMessageBinding; +import com.asyncapi.v3.binding.message.solace.SolaceMessageBinding; +import com.asyncapi.v3.binding.message.sqs.SQSMessageBinding; +import com.asyncapi.v3.binding.message.stomp.STOMPMessageBinding; +import com.asyncapi.v3.binding.message.ws.WebSocketsMessageBinding; +import com.asyncapi.v3.jackson.BindingsMapDeserializer; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; + +/** + * Serializes message bindings map. + * + * @author Pavel Bodiachevskii + */ +public class MessageBindingsDeserializer extends BindingsMapDeserializer { + + public Object chooseKnownPojo(String bindingKey, JsonNode binding, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = binding.traverse(objectCodec)) { + if (binding.get("$ref" ) != null) { + return jsonParser.readValueAs(Reference.class); + } + + switch (bindingKey) { + case "amqp": return jsonParser.readValueAs(AMQPMessageBinding.class); + case "amqp1": return jsonParser.readValueAs(AMQP1MessageBinding.class); + case "anypointmq": return jsonParser.readValueAs(AnypointMQMessageBinding.class); + case "googlepubsub": return jsonParser.readValueAs(GooglePubSubMessageBinding.class); + case "http": return jsonParser.readValueAs(HTTPMessageBinding.class); + case "ibmmq": return jsonParser.readValueAs(IBMMQMessageBinding.class); + case "jms": return jsonParser.readValueAs(JMSMessageBinding.class); + case "kafka": return jsonParser.readValueAs(KafkaMessageBinding.class); + case "mercure": return jsonParser.readValueAs(MercureMessageBinding.class); + case "mqtt": return jsonParser.readValueAs(MQTTMessageBinding.class); + case "mqtt5": return jsonParser.readValueAs(MQTT5MessageBinding.class); + case "nats": return jsonParser.readValueAs(NATSMessageBinding.class); + case "pulsar": return jsonParser.readValueAs(PulsarMessageBinding.class); + case "redis": return jsonParser.readValueAs(RedisMessageBinding.class); + case "sns": return jsonParser.readValueAs(SNSMessageBinding.class); + case "solace": return jsonParser.readValueAs(SolaceMessageBinding.class); + case "sqs": return jsonParser.readValueAs(SQSMessageBinding.class); + case "stomp": return jsonParser.readValueAs(STOMPMessageBinding.class); + case "ws": return jsonParser.readValueAs(WebSocketsMessageBinding.class); + default: return null; + } + } + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt new file mode 100644 index 00000000..afaf90a2 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt @@ -0,0 +1,216 @@ +package com.asyncapi.v3._0_0.model.channel.message + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.MultiFormatSchema +import com.asyncapi.v3.binding.message.amqp.AMQPMessageBindingTest +import com.asyncapi.v3.binding.message.anypointmq.AnypointMQMessageBindingTest +import com.asyncapi.v3.binding.message.googlepubsub.GooglePubSubMessageBindingTest +import com.asyncapi.v3.binding.message.http.HTTPMessageBindingTest +import com.asyncapi.v3.binding.message.ibmmq.IBMMQMessageBindingTest +import com.asyncapi.v3.binding.message.kafka.KafkaMessageBindingTest +import com.asyncapi.v3.binding.message.mqtt.MQTTMessageBindingTest + +class MessageTraitTestWithSchema: SerDeTest() { + + override fun objectClass() = MessageTrait::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json" + + override fun build(): MessageTrait { + return MessageTrait.builder() + .messageId("userSignup") + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair( + "correlationId", + Schema.builder() + .description("Correlation ID set by application") + .type("string") + .build() + ), + Pair( + "applicationInstanceId", + Schema.builder() + .description("Unique identifier for a given instance of the publishing application") + .type("string") + .build() + ) + )) + .build() + ) + .correlationId(CorrelationId("Default Correlation ID", "\$message.header#/correlationId")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + )) + .externalDocs(ExternalDocumentation("User sign up rules", "messages/sign-up-rules")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .build() + } + +} + +class MessageTraitTestWithReference: SerDeTest() { + + override fun objectClass() = MessageTrait::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json" + + override fun build(): MessageTrait { + return MessageTrait.builder() + .messageId("userSignup") + .headers(Reference("#/components/messages/message-header")) + .correlationId(Reference("#/components/messages/message-correlation-id")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .build() + } + +} + +class MessageTraitTestWithMultiFormatSchema: SerDeTest() { + + override fun objectClass() = MessageTrait::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait 2.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json" + + override fun build(): MessageTrait { + return MessageTrait.builder() + .messageId("userSignup") + .headers(MultiFormatSchema.builder() + .schemaFormat("application/vnd.aai.asyncapi+json;version=3.0.0") + .schema(linkedMapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair( + "correlationId", + mapOf( + Pair("description", "Correlation ID set by application"), + Pair("type", "string") + ) + ), + Pair( + "applicationInstanceId", + mapOf( + Pair("description", "Unique identifier for a given instance of the publishing application"), + Pair("type", "string") + ) + ) + )) + )).build() + ) + .correlationId(Reference("#/components/messages/message-correlation-id")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json new file mode 100644 index 00000000..b16b6674 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json @@ -0,0 +1,503 @@ +{ + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json new file mode 100644 index 00000000..b780fa7c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json @@ -0,0 +1,156 @@ +{ + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json new file mode 100644 index 00000000..fa5202ce --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json @@ -0,0 +1,377 @@ +{ + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json new file mode 100644 index 00000000..45defcb4 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json @@ -0,0 +1,378 @@ +{ + "messageId" : "userSignup", + "headers": { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property": {} + }, + "ext-number" : 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json new file mode 100644 index 00000000..77c98c8b --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json @@ -0,0 +1,152 @@ +{ + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json new file mode 100644 index 00000000..c72450c7 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json @@ -0,0 +1,364 @@ +{ + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json new file mode 100644 index 00000000..659f5936 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json @@ -0,0 +1,145 @@ +{ + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property": {} + }, + "ext-number" : 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json new file mode 100644 index 00000000..cdc5730a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json @@ -0,0 +1,139 @@ +{ + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json new file mode 100644 index 00000000..1d7388c1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json @@ -0,0 +1,150 @@ +{ + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] +} \ No newline at end of file From cde8684ed5577b97eb73ac28127bd9cf99bfcdd7 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 2 Oct 2023 00:56:53 +0400 Subject: [PATCH 115/210] feat(3.0.0): Message --- .../message/MessagePayloadDeserializer.java | 77 + .../message/MessageTraitsDeserializer.java | 24 + .../_0_0/model/channel/message/Message.java | 184 ++ .../_0_0/model/channel/message/MessageTest.kt | 260 +++ .../channel/message/message - extended.json | 1825 +++++++++++++++++ .../message/message - wrongly extended.json | 608 ++++++ .../channel/message/message 2 - extended.json | 1616 +++++++++++++++ .../message/message 2 - wrongly extended.json | 613 ++++++ .../model/channel/message/message 2.json | 607 ++++++ .../message with reference - extended.json | 1594 ++++++++++++++ ...age with reference - wrongly extended.json | 591 ++++++ .../message/message with reference.json | 585 ++++++ .../3.0.0/model/channel/message/message.json | 602 ++++++ 13 files changed, 9186 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagePayloadDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagePayloadDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagePayloadDeserializer.java new file mode 100644 index 00000000..dcf51156 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagePayloadDeserializer.java @@ -0,0 +1,77 @@ +package com.asyncapi.v3._0_0.jackson.model.channel.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.schema.MultiFormatSchema; +import com.asyncapi.v3.schema.Schema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; +import org.jetbrains.annotations.NotNull; + +import java.io.IOException; + +/** + * Serializes message traits list. + * + * @author Pavel Bodiachevskii + */ +public class MessagePayloadDeserializer extends JsonDeserializer { + + @Override + public Object deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = p.getCodec(); + JsonNode node = objectCodec.readTree(p); + + /* + Problem: + Both, Reference class and Schema class have $ref field. + So, this is only reason why I receive next exception: + "com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: + Unrecognized field "title" (class com.asyncapi.v2._6_0.model.Reference), + not marked as ignorable (one known property: "$ref"])" + in case when Schema contains $ref. + Solution: + Try to deserialize reference. In case of exception, try to deserialize it as given ObjectType. In case of + one more exception, throw it. + TODO: Think how to improve. + */ + try { + return chooseKnownPojo(node, objectCodec); + } catch (UnrecognizedPropertyException unrecognizedPropertyException) { + return readAsObject(node, objectCodec); + } + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (isMultiFormatSchema(jsonNode)) { + return jsonParser.readValueAs(MultiFormatSchema.class); + } + + if (ref != null) { + return jsonParser.readValueAs(Reference.class); + } else { + return jsonParser.readValueAs(Schema.class); + } + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(Schema.class); + } + } + + private boolean isMultiFormatSchema(@NotNull JsonNode jsonNode) { + JsonNode schemaFormat = jsonNode.get("schemaFormat"); + JsonNode schema = jsonNode.get("schema"); + + return (schemaFormat != null) && (schema != null); + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java new file mode 100644 index 00000000..c5e5058a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessageTraitsDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model.channel.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait; +import com.asyncapi.v3.jackson.ListOfReferencesOrObjectsDeserializer; + +/** + * Deserializes message traits. + * + * @author Pavel Bodiachevskii + */ +public class MessageTraitsDeserializer extends ListOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return MessageTrait.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java new file mode 100644 index 00000000..c8ab1ea0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java @@ -0,0 +1,184 @@ +package com.asyncapi.v3._0_0.model.channel.message; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageCorrelationIdDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageTraitsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageHeadersDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessagePayloadDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.jackson.binding.message.MessageBindingsDeserializer; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * Describes a message received on a given channel and operation. + * + * @version 3.0.0 + * @see Message + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Message extends ExtendableObject { + + /** + * Unique string used to identify the message. + *

                            + * The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. + * Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to + * follow common programming naming conventions. + */ + @Nullable + private String messageId; + + /** + * Schema definition of the application headers. + *

                            + * Schema MUST be a map of key-value pairs. + *

                            + * It MUST NOT define the protocol headers. + *

                            + * If this is a Schema Object, then the schemaFormat will be assumed to + * be "application/vnd.aai.asyncapi+json;version=asyncapi" where the version + * is equal to the AsyncAPI Version String. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link com.asyncapi.v3.schema.Schema}
                            • + *
                            • {@link com.asyncapi.v3.schema.MultiFormatSchema}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageHeadersDeserializer.class) + private Object headers; + + /** + * Definition of the message payload. If this is a Schema Object, then the schemaFormat will be assumed to be + * "application/vnd.aai.asyncapi+json;version=asyncapi" where the version is equal to the AsyncAPI Version String. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link com.asyncapi.v3.schema.Schema}
                            • + *
                            • {@link com.asyncapi.v3.schema.MultiFormatSchema}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessagePayloadDeserializer.class) + private Object payload; + + /** + * Definition of the correlation ID used for message tracing or matching. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link CorrelationId}
                            • + *
                            + */ + @JsonDeserialize(using = MessageCorrelationIdDeserializer.class) + private Object correlationId; + + /** + * The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type + * (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field. + */ + @Nullable + private String contentType; + + /** + * A machine-friendly name for the message. + */ + @Nullable + private String name; + + /** + * A human-friendly title for the message. + */ + @Nullable + private String title; + + /** + * A short summary of what the message is about. + */ + @Nullable + private String summary; + + /** + * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the message. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link com.asyncapi.v3.binding.message.MessageBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageBindingsDeserializer.class) + private Map bindings; + + /** + * List of examples. + */ + @Nullable + private List examples; + + /** + * A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. + * The resulting object MUST be a valid Message Object. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link com.asyncapi.v3._0_0.model.channel.message.MessageTrait}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageTraitsDeserializer.class) + private List traits; + + /** + * A list of tags for logical grouping and categorization of messages. + *

                            + * MUST BE: + *

                              + *
                            • {@link com.asyncapi.v3.Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation for this channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt new file mode 100644 index 00000000..7617c281 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt @@ -0,0 +1,260 @@ +package com.asyncapi.v3._0_0.model.channel.message + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.MultiFormatSchema +import com.asyncapi.v3.binding.message.amqp.AMQPMessageBindingTest +import com.asyncapi.v3.binding.message.anypointmq.AnypointMQMessageBindingTest +import com.asyncapi.v3.binding.message.googlepubsub.GooglePubSubMessageBindingTest +import com.asyncapi.v3.binding.message.http.HTTPMessageBindingTest +import com.asyncapi.v3.binding.message.ibmmq.IBMMQMessageBindingTest +import com.asyncapi.v3.binding.message.kafka.KafkaMessageBindingTest +import com.asyncapi.v3.binding.message.mqtt.MQTTMessageBindingTest + +class MessageTestWithSchema: SerDeTest() { + + override fun objectClass() = Message::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/message.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message - wrongly extended.json" + + override fun build(): Message { + return Message.builder() + .messageId("userSignup") + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair( + "correlationId", + Schema.builder() + .description("Correlation ID set by application") + .type("string") + .build() + ), + Pair( + "applicationInstanceId", + Schema.builder() + .description("Unique identifier for a given instance of the publishing application") + .type("string") + .build() + ) + )) + .build() + ) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair( + "metric", + Schema.builder() + .description("Metric set by application") + .type("string") + .build() + ) + )) + .build() + ) + .correlationId(CorrelationId("Default Correlation ID", "\$message.header#/correlationId")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + )) + .externalDocs(ExternalDocumentation("User sign up rules", "messages/sign-up-rules")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .traits(listOf( + MessageTraitTestWithSchema().build(), + MessageTraitTestWithReference().build(), + MessageTraitTestWithMultiFormatSchema().build() + )) + .build() + } + +} + +class MessageTestWithReference: SerDeTest() { + + override fun objectClass() = Message::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/message with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json" + + override fun build(): Message { + return Message.builder() + .messageId("userSignup") + .headers(Reference("#/components/messages/message-header")) + .payload(Reference("#/components/messages/message-payload")) + .correlationId(Reference("#/components/messages/message-correlation-id")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .traits(listOf( + MessageTraitTestWithSchema().build(), + MessageTraitTestWithReference().build(), + MessageTraitTestWithMultiFormatSchema().build() + )) + .build() + } + +} + +class MessageTestWithMultiFormatSchema: SerDeTest() { + + override fun objectClass() = Message::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/message/message 2.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message 2 - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json" + + override fun build(): Message { + return Message.builder() + .messageId("userSignup") + .headers(MultiFormatSchema.builder() + .schemaFormat("application/vnd.aai.asyncapi+json;version=3.0.0") + .schema(linkedMapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair( + "correlationId", + mapOf( + Pair("description", "Correlation ID set by application"), + Pair("type", "string") + ) + ), + Pair( + "applicationInstanceId", + mapOf( + Pair("description", "Unique identifier for a given instance of the publishing application"), + Pair("type", "string") + ) + ) + )) + )).build() + ) + .payload(MultiFormatSchema.builder() + .schemaFormat("application/vnd.aai.asyncapi+json;version=3.0.0") + .schema(linkedMapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair( + "metric", + mapOf( + Pair("description", "Metric set by application"), + Pair("type", "string") + ) + ) + )) + )).build() + ) + .correlationId(Reference("#/components/messages/message-correlation-id")) + .contentType("application/json") + .name("UserSignup") + .title("User signup") + .summary("Action to sign a user up.") + .description("A longer description") + .tags(listOf( + Tag("user", null, null), + Tag("signup", null, null), + Tag("register", null, null), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + )) + .examples(listOf(MessageExampleTest().build())) + .traits(listOf( + MessageTraitTestWithSchema().build(), + MessageTraitTestWithReference().build(), + MessageTraitTestWithMultiFormatSchema().build() + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json new file mode 100644 index 00000000..89842f35 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json @@ -0,0 +1,1825 @@ +{ + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json new file mode 100644 index 00000000..5a27b02c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json @@ -0,0 +1,608 @@ +{ + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json new file mode 100644 index 00000000..c59e5593 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json @@ -0,0 +1,1616 @@ +{ + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json new file mode 100644 index 00000000..f80d7fc1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json @@ -0,0 +1,613 @@ +{ + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json new file mode 100644 index 00000000..af63777e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json @@ -0,0 +1,607 @@ +{ + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json new file mode 100644 index 00000000..c0ad7e10 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json @@ -0,0 +1,1594 @@ +{ + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json new file mode 100644 index 00000000..c9fab724 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json @@ -0,0 +1,591 @@ +{ + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json new file mode 100644 index 00000000..75614fd8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json @@ -0,0 +1,585 @@ +{ + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json new file mode 100644 index 00000000..4b6fcdbf --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json @@ -0,0 +1,602 @@ +{ + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] +} \ No newline at end of file From d904d037c8cc195de046e8fcfbcc7b145bb20240 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 2 Oct 2023 03:07:00 +0400 Subject: [PATCH 116/210] fix(3.0.0): SchemasAdditionalPropertiesDeserializer fix schema version --- .../jackson/schema/SchemasAdditionalPropertiesDeserializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java index 270affd4..659d70fe 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/schema/SchemasAdditionalPropertiesDeserializer.java @@ -1,6 +1,6 @@ package com.asyncapi.v3.jackson.schema; -import com.asyncapi.v2.schema.Schema; +import com.asyncapi.v3.schema.Schema; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.ObjectCodec; From ffb19a37fa3ea942bc207e7618fa96e85a467351 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 2 Oct 2023 03:13:49 +0400 Subject: [PATCH 117/210] feat(3.0.0): ChannelBinding --- .../v3/binding/channel/ChannelBinding.java | 13 ++ .../channel/amqp/AMQPChannelBinding.java | 62 ++++++ .../binding/channel/amqp/AMQPChannelType.java | 24 +++ .../AMQPChannelExchangeProperties.java | 71 +++++++ .../exchange/AMQPChannelExchangeType.java | 33 +++ .../queue/AMQPChannelQueueProperties.java | 71 +++++++ .../channel/amqp1/AMQP1ChannelBinding.java | 21 ++ .../anypointmq/AnypointMQChannelBinding.java | 58 +++++ .../AnypointMQChannelDestinationType.java | 25 +++ .../GooglePubSubChannelBinding.java | 83 ++++++++ ...oglePubSubChannelMessageStoragePolicy.java | 36 ++++ .../GooglePubSubChannelSchemaSettings.java | 59 ++++++ .../channel/http/HTTPChannelBinding.java | 21 ++ .../channel/ibmmq/IBMMQChannelBinding.java | 88 ++++++++ .../ibmmq/IBMMQChannelDestinationType.java | 20 ++ .../ibmmq/IBMMQChannelQueueProperties.java | 62 ++++++ .../ibmmq/IBMMQChannelTopicProperties.java | 74 +++++++ .../channel/jms/JMSChannelBinding.java | 21 ++ .../channel/kafka/KafkaChannelBinding.java | 76 +++++++ .../kafka/KafkaChannelTopicCleanupPolicy.java | 13 ++ .../kafka/KafkaChannelTopicConfiguration.java | 83 ++++++++ .../mercure/MercureChannelBinding.java | 21 ++ .../channel/mqtt/MQTTChannelBinding.java | 21 ++ .../channel/mqtt5/MQTT5ChannelBinding.java | 21 ++ .../channel/nats/NATSChannelBinding.java | 21 ++ .../channel/pulsar/PulsarChannelBinding.java | 101 +++++++++ .../pulsar/PulsarChannelPersistence.java | 22 ++ .../PulsarChannelRetentionDefinition.java | 44 ++++ .../channel/redis/RedisChannelBinding.java | 21 ++ .../channel/sns/SNSChannelBinding.java | 21 ++ .../channel/solace/SolaceChannelBinding.java | 23 ++ .../channel/sqs/SQSChannelBinding.java | 21 ++ .../channel/stomp/STOMPChannelBinding.java | 21 ++ .../channel/ws/WebSocketsChannelBinding.java | 66 ++++++ .../channel/ws/WebSocketsChannelMethod.java | 13 ++ .../channel/amqp/AMQPChannelBindingTest.kt | 42 ++++ .../AnypointMQChannelBindingTest.kt | 26 +++ .../GooglePubSubChannelBindingTest.kt | 42 ++++ .../channel/ibmmq/IBMMQChannelBindingTest.kt | 35 +++ .../channel/kafka/KafkaChannelBindingTest.kt | 38 ++++ .../pulsar/PulsarChannelBindingTest.kt | 31 +++ .../ws/WebSocketsChannelBindingTest.kt | 53 +++++ .../amqp/amqpChannelBinding - extended.json | 23 ++ ...amqpChannelBinding - wrongly extended.json | 24 +++ .../channel/amqp/amqpChannelBinding.json | 18 ++ .../anypointMQChannelBinding - extended.json | 10 + ...ntMQChannelBinding - wrongly extended.json | 11 + .../anypoint/anypointMQChannelBinding.json | 5 + ...googlePubSubChannelBinding - extended.json | 20 ++ ...bSubChannelBinding - wrongly extended.json | 30 +++ .../googlePubSubChannelBinding.json | 24 +++ .../ibmmq/ibmMQChannelBinding - extended.json | 21 ++ ...bmMQChannelBinding - wrongly extended.json | 22 ++ .../channel/ibmmq/ibmMQChannelBinding.json | 16 ++ .../kafka/kafkaChannelBinding - extended.json | 18 ++ ...afkaChannelBinding - wrongly extended.json | 22 ++ .../channel/kafka/kafkaChannelBinding.json | 16 ++ .../pulsarChannelBinding - extended.json | 18 ++ ...lsarChannelBinding - wrongly extended.json | 22 ++ .../channel/pulsar/pulsarChannelBinding.json | 16 ++ .../webSocketsChannelBinding - extended.json | 199 ++++++++++++++++++ ...ketsChannelBinding - wrongly extended.json | 27 +++ .../channel/ws/webSocketsChannelBinding.json | 21 ++ 63 files changed, 2301 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/queue/AMQPChannelQueueProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp1/AMQP1ChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelDestinationType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/http/HTTPChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelDestinationType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelQueueProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelTopicProperties.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/jms/JMSChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicConfiguration.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mercure/MercureChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt/MQTTChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt5/MQTT5ChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/nats/NATSChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelPersistence.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelRetentionDefinition.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/redis/RedisChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sns/SNSChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/solace/SolaceChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sqs/SQSChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/stomp/STOMPChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelMethod.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBindingTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java new file mode 100644 index 00000000..f73b6f3e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.channel; + +import com.asyncapi.v3.ExtendableObject; +import lombok.EqualsAndHashCode; + +/** + * Describes AsyncAPI channel binding. + * + * @author Pavel Bodiachevskii + */ +@EqualsAndHashCode(callSuper = true) +public class ChannelBinding extends ExtendableObject { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBinding.java new file mode 100644 index 00000000..bed4fa16 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBinding.java @@ -0,0 +1,62 @@ +package com.asyncapi.v3.binding.channel.amqp; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.asyncapi.v3.binding.channel.amqp.exchange.AMQPChannelExchangeProperties; +import com.asyncapi.v3.binding.channel.amqp.queue.AMQPChannelQueueProperties; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 channel binding. + *

                            + * Contains information about the channel representation in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 channel binding.") +public class AMQPChannelBinding extends ChannelBinding { + + /** + * Defines what type of channel is it. Can be either queue or routingKey (default). + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "is", required = true, defaultValue = "routingKey") + @JsonPropertyDescription("Defines what type of channel is it. Can be either queue or routingKey (default).") + private AMQPChannelType is = AMQPChannelType.ROUTING_KEY; + + /** + * When is=routingKey, this object defines the exchange properties. + */ + @Nullable + @JsonProperty("exchange") + @JsonPropertyDescription("When is=routingKey, this object defines the exchange properties.") + private AMQPChannelExchangeProperties exchange; + + /** + * When is=queue, this object defines the queue properties. + */ + @Nullable + @JsonProperty("queue") + @JsonPropertyDescription("When is=queue, this object defines the queue properties.") + private AMQPChannelQueueProperties queue; + + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private final String bindingVersion = "0.2.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelType.java new file mode 100644 index 00000000..e6fe8c81 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/AMQPChannelType.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3.binding.channel.amqp; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes AMQP 0-9-1 channel type. + *

                            + * Contains information about the type of channel in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +public enum AMQPChannelType { + + @JsonProperty("queue") + QUEUE, + + @JsonProperty("routingKey") + @JsonAlias("routingKey") + ROUTING_KEY + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java new file mode 100644 index 00000000..6c7b0465 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeProperties.java @@ -0,0 +1,71 @@ +package com.asyncapi.v3.binding.channel.amqp.exchange; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 channel exchange properties. + *

                            + * Contains information about the channel exchange properties in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes AMQP 0-9-1 channel exchange properties.") +public class AMQPChannelExchangeProperties { + + /** + * The name of the exchange. It MUST NOT exceed 255 characters long. + */ + @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Exchange name must not exceed 255 characters long." + ) + @JsonProperty("name") + @JsonPropertyDescription("The name of the exchange. It MUST NOT exceed 255 characters long.") + private String name; + + /** + * The type of the exchange. Can be either topic, direct, fanout, default or headers. + */ + @Nullable + @JsonProperty("type") + @JsonPropertyDescription("The type of the exchange. Can be either topic, direct, fanout, default or headers.") + private AMQPChannelExchangeType type; + + /** + * Whether the exchange should survive broker restarts or not. + */ + @Nullable + @JsonProperty("durable") + @JsonPropertyDescription("Whether the exchange should survive broker restarts or not.") + private Boolean durable; + + /** + * Whether the exchange should be deleted when the last queue is unbound from it. + */ + @Nullable + @JsonProperty("autoDelete") + @JsonPropertyDescription("Whether the exchange should be deleted when the last queue is unbound from it.") + private Boolean autoDelete; + + /** + * The virtual host of the exchange. Defaults to /. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "vhost", defaultValue = "/") + @JsonPropertyDescription("The virtual host of the exchange. Defaults to /.") + private String vhost = "/"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeType.java new file mode 100644 index 00000000..6a4211bc --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/exchange/AMQPChannelExchangeType.java @@ -0,0 +1,33 @@ +package com.asyncapi.v3.binding.channel.amqp.exchange; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes AMQP 0-9-1 channel exchange type. + *

                            + * Contains information about the channel exchange type in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes AMQP 0-9-1 channel exchange type.") +public enum AMQPChannelExchangeType { + + @JsonProperty("topic") + TOPIC, + + @JsonProperty("direct") + DIRECT, + + @JsonProperty("fanout") + FANOUT, + + @JsonProperty("default") + DEFAULT, + + @JsonProperty("headers") + HEADERS + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/queue/AMQPChannelQueueProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/queue/AMQPChannelQueueProperties.java new file mode 100644 index 00000000..18f49c26 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp/queue/AMQPChannelQueueProperties.java @@ -0,0 +1,71 @@ +package com.asyncapi.v3.binding.channel.amqp.queue; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes AMQP 0-9-1 channel queue properties. + *

                            + * Contains information about the queue exchange properties in AMQP. + * + * @version 0.2.0 + * @see AMQP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes AMQP 0-9-1 channel queue properties.") +public class AMQPChannelQueueProperties { + + /** + * The name of the queue. It MUST NOT exceed 255 characters long. + */ + @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Queue name must not exceed 255 characters long." + ) + @JsonProperty("name") + @JsonPropertyDescription("The name of the queue. It MUST NOT exceed 255 characters long.") + private String name; + + /** + * Whether the queue should survive broker restarts or not. + */ + @Nullable + @JsonProperty("durable") + @JsonPropertyDescription("Whether the queue should survive broker restarts or not.") + private Boolean durable; + + /** + * Whether the queue should be used only by one connection or not. + */ + @Nullable + @JsonProperty("exclusive") + @JsonPropertyDescription("Whether the queue should be used only by one connection or not.") + private Boolean exclusive; + + /** + * Whether the queue should be deleted when the last consumer unsubscribes. + */ + @Nullable + @JsonProperty("autoDelete") + @JsonPropertyDescription("Whether the queue should be deleted when the last consumer unsubscribes.") + private Boolean autoDelete; + + /** + * The virtual host of the queue. Defaults to /. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "vhost", defaultValue = "/") + @JsonPropertyDescription("The virtual host of the queue. Defaults to /.") + private String vhost = "/"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp1/AMQP1ChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp1/AMQP1ChannelBinding.java new file mode 100644 index 00000000..b9d5b157 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/amqp1/AMQP1ChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.amqp1; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes AMQP 1.0 channel binding. + * + * @version 0.1.0 + * @see AMQP 1.0 channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AMQP1ChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBinding.java new file mode 100644 index 00000000..84c63a06 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBinding.java @@ -0,0 +1,58 @@ +package com.asyncapi.v3.binding.channel.anypointmq; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Anypoint MQ channel binding. + * + * @version 0.0.1 + * @see Anypoint MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Anypoint MQ channel binding.") +public class AnypointMQChannelBinding extends ChannelBinding { + + /** + * OPTIONAL, defaults to the channel name. + *

                            + * The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs + * from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ. + */ + @Nullable + @JsonProperty("destination") + @JsonPropertyDescription("The destination (queue or exchange) name for this channel. SHOULD only be specified if the channel name differs from the actual destination name, such as when the channel name is not a valid destination name in Anypoint MQ.") + private String destination; + + /** + * OPTIONAL, defaults to queue. + *

                            + * The type of destination, which MUST be either exchange or queue or fifo-queue. + * SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) + * supported by this channel. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "destinationType", defaultValue = "queue") + @JsonPropertyDescription("The type of destination, which MUST be either exchange or queue or fifo-queue. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel.") + private AnypointMQChannelDestinationType destinationType = AnypointMQChannelDestinationType.QUEUE; + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.0.1"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelDestinationType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelDestinationType.java new file mode 100644 index 00000000..3f42233c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelDestinationType.java @@ -0,0 +1,25 @@ +package com.asyncapi.v3.binding.channel.anypointmq; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Anypoint MQ channel destination type. + * + * @version 0.0.1 + * @see Anypoint MQ channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Anypoint MQ channel destination type.") +public enum AnypointMQChannelDestinationType { + + @JsonProperty("exchange") + EXCHANGE, + + @JsonProperty("queue") + QUEUE, + + @JsonProperty("fifo-queue") + FIFO_QUEUE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBinding.java new file mode 100644 index 00000000..1f93f6c2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBinding.java @@ -0,0 +1,83 @@ +package com.asyncapi.v3.binding.channel.googlepubsub; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * Describes Google Cloud Pub/Sub channel binding. + *

                            + * The Channel Bindings Object is used to describe the Google Cloud Pub/Sub specific Topic details with AsyncAPI. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Google Cloud Pub/Sub channel binding.") +public class GooglePubSubChannelBinding extends ChannelBinding { + + /** + * The Google Cloud Pub/Sub Topic name. + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "topic", required = true) + @JsonPropertyDescription("The Google Cloud Pub/Sub Topic name.") + private String topic = ""; + + /** + * An object of key-value pairs (These are used to categorize Cloud Resources like Cloud Pub/Sub Topics.) + */ + @Nullable + @JsonProperty("labels") + @JsonPropertyDescription("An object of key-value pairs (These are used to categorize Cloud Resources like Cloud Pub/Sub Topics.)") + private Map labels; + + /** + * Indicates the minimum duration to retain a message after it is published to the topic (Must be a valid Duration.) + */ + @Nullable + @JsonProperty("messageRetentionDuration") + @JsonPropertyDescription("Indicates the minimum duration to retain a message after it is published to the topic (Must be a valid https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration.)") + private String messageRetentionDuration; + + /** + * Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored + */ + @Nullable + @JsonProperty("messageStoragePolicy") + @JsonPropertyDescription("Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored") + private GooglePubSubChannelMessageStoragePolicy messageStoragePolicy; + + /** + * Settings for validating messages published against a schema + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "schemaSettings", required = true) + @JsonPropertyDescription("Settings for validating messages published against a schema") + private GooglePubSubChannelSchemaSettings schemaSettings = new GooglePubSubChannelSchemaSettings(); + + /** + * The version of this binding. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java new file mode 100644 index 00000000..2f236cc6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelMessageStoragePolicy.java @@ -0,0 +1,36 @@ +package com.asyncapi.v3.binding.channel.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Google Cloud Pub/Sub MessageStoragePolicy. + *

                            + * The Message Storage Policy Object is used to describe the Google Cloud Pub/Sub MessageStoragePolicy Object with AsyncAPI. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describe the Google Cloud Pub/Sub MessageStoragePolicy") +public class GooglePubSubChannelMessageStoragePolicy { + + /** + * A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage + */ + @Nullable + @JsonProperty("allowedPersistenceRegions") + @JsonPropertyDescription("A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage") + private List allowedPersistenceRegions; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java new file mode 100644 index 00000000..ce5f807e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelSchemaSettings.java @@ -0,0 +1,59 @@ +package com.asyncapi.v3.binding.channel.googlepubsub; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Google Cloud Pub/Sub SchemaSettings. + *

                            + * The Schema Settings Object is used to describe the Google Cloud Pub/Sub SchemaSettings Object with AsyncAPI. + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describe the Google Cloud Pub/Sub SchemaSettings") +public class GooglePubSubChannelSchemaSettings { + + /** + * The encoding of the message (Must be one of the possible Encoding values.) + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "encoding", required = true) + @JsonPropertyDescription("The encoding of the message (Must be one of the possible https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#encoding values.)") + private String encoding = ""; + + /** + * The minimum (inclusive) revision allowed for validating messages + */ + @Nullable + @JsonProperty("firstRevisionId") + @JsonPropertyDescription("The minimum (inclusive) revision allowed for validating messages") + private String firstRevisionId; + + /** + * The maximum (inclusive) revision allowed for validating messages + */ + @Nullable + @JsonProperty("lastRevisionId") + @JsonPropertyDescription("The maximum (inclusive) revision allowed for validating messages") + private String lastRevisionId; + + /** + * The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.) + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "name", required = true) + @JsonPropertyDescription("The name of the schema that messages published should be validated against (The format is projects/{project}/schemas/{schema}.)") + private String name = ""; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/http/HTTPChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/http/HTTPChannelBinding.java new file mode 100644 index 00000000..3419cdc2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/http/HTTPChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.http; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes HTTP channel binding. + * + * @version 0.1.0 + * @see HTTP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HTTPChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBinding.java new file mode 100644 index 00000000..bb637b2a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBinding.java @@ -0,0 +1,88 @@ +package com.asyncapi.v3.binding.channel.ibmmq; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ channel binding. + *

                            + * This object contains information about the channel representation in IBM MQ. Each channel corresponds to a Queue or Topic within IBM MQ. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes IBM MQ channel binding.") +public class IBMMQChannelBinding extends ChannelBinding { + + /** + * Defines the type of AsyncAPI channel. + *

                            + * MUST be either topic or queue. For type topic, the AsyncAPI channel name MUST be assumed for the IBM MQ topic string unless overridden. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "destinationType", defaultValue = "topic") + @JsonPropertyDescription("Defines the type of AsyncAPI channel.") + private IBMMQChannelDestinationType destinationType = IBMMQChannelDestinationType.TOPIC; + + /** + * REQUIRED if destinationType = queue + *

                            + * queue and topic fields MUST NOT coexist within a channel binding + */ + @Nullable + @JsonProperty("queue") + @JsonPropertyDescription("Defines the properties of a queue.") + private IBMMQChannelQueueProperties queue; + + /** + * Defines the properties of a topic. + *

                            + * OPTIONAL if destinationType = topic + *

                            + * queue and topic fields MUST NOT coexist within a channel binding. + */ + @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("Defines the properties of a topic.") + private IBMMQChannelTopicProperties topic; + + /** + * The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are + * greater in size than this value may fail to be delivered. More information on the maximum message length can be + * found on this page in the IBM MQ Knowledge Center. + *

                            + * MUST be 0-104,857,600 bytes (100 MB). + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "Maximum length of the physical message (in bytes) must be greater or equals to 0" + ) + @javax.validation.constraints.Max( + value = 104857600, + message = "Maximum length of the physical message (in bytes) must be lower or equals to 104857600" + ) + @JsonProperty("maxMsgLength") + @JsonPropertyDescription("The maximum length of the physical message (in bytes) accepted by the Topic or Queue. Messages produced that are greater in size than this value may fail to be delivered. More information on the maximum message length can be found on this [page](https://www.ibm.com/support/knowledgecenter/SSFKSJ_latest/com.ibm.mq.ref.dev.doc/q097520_.html) in the IBM MQ Knowledge Center.") + private Integer maxMsgLength; + + /** + * The version of this binding. + */ + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelDestinationType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelDestinationType.java new file mode 100644 index 00000000..13609498 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelDestinationType.java @@ -0,0 +1,20 @@ +package com.asyncapi.v3.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes IBM MQ channel destination type. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +public enum IBMMQChannelDestinationType { + + @JsonProperty("topic") + TOPIC, + + @JsonProperty("queue") + QUEUE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelQueueProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelQueueProperties.java new file mode 100644 index 00000000..4c4586ab --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelQueueProperties.java @@ -0,0 +1,62 @@ +package com.asyncapi.v3.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ channel queue properties. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes IBM MQ channel queue properties.") +public class IBMMQChannelQueueProperties { + + /** + * Defines the name of the IBM MQ queue associated with the channel. + *

                            + * A value MUST be specified. MUST NOT exceed 48 characters in length. MUST be a valid IBM MQ queue name + */ + @NotNull + @javax.validation.constraints.NotNull + @javax.validation.constraints.Size( + max = 48, + message = "Name of the IBM MQ queue must be less or equals to 48" + ) + @Builder.Default + @JsonProperty("objectName") + @JsonPropertyDescription("Defines the name of the IBM MQ queue associated with the channel.") + private String objectName = ""; + + /** + * Defines if the queue is a cluster queue and therefore partitioned. If true, a binding option MAY be specified + * when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center. + *

                            + * If false, binding options SHOULD NOT be specified when accessing the queue. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "isPartitioned", defaultValue = "false") + @JsonPropertyDescription("Defines if the queue is a cluster queue and therefore partitioned. If 'true', a binding option MAY be specified when accessing the queue. More information on binding options can be found on this page in the IBM MQ Knowledge Center.") + private Boolean isPartitioned = false; + + /** + * Specifies if it is recommended to open the queue exclusively. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "exclusive", defaultValue = "false") + @JsonPropertyDescription("Specifies if it is recommended to open the queue exclusively.") + private Boolean exclusive = false; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelTopicProperties.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelTopicProperties.java new file mode 100644 index 00000000..7fe8544e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelTopicProperties.java @@ -0,0 +1,74 @@ +package com.asyncapi.v3.binding.channel.ibmmq; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes IBM MQ channel topic properties. + * + * @version 0.1.0 + * @see IBM MQ channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +public class IBMMQChannelTopicProperties { + + /** + * The value of the IBM MQ topic string to be used. + *

                            + * OPTIONAL + * Note: if specified, SHALL override AsyncAPI channel name. + *

                            + * MUST NOT exceed 10240 characters in length. MAY coexist with topic.objectName + */ + @Nullable + @javax.validation.constraints.Max( + value = 10240, + message = "Maximum length of topic string must be lower or equals to 10240" + ) + @JsonProperty("string") + @JsonPropertyDescription("The value of the IBM MQ topic string to be used.") + private String string; + + /** + * The name of the IBM MQ topic object. + *

                            + * OPTIONAL + * Note: if specified, SHALL override AsyncAPI channel name. + *

                            + * MUST NOT exceed 48 characters in length. MAY coexist with topic.string + */ + @Nullable + @javax.validation.constraints.Max( + value = 48, + message = "Maximum length of topic name must be lower or equals to 48" + ) + @JsonProperty("objectName") + @JsonPropertyDescription("The name of the IBM MQ topic object.") + private String objectName; + + /** + * Defines if the subscription may be durable. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "durablePermitted", defaultValue = "true") + @JsonPropertyDescription("Defines if the subscription may be durable.") + private Boolean durablePermitted = true; + + /** + * Defines if the last message published will be made available to new subscriptions. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "lastMsgRetained", defaultValue = "false") + @JsonPropertyDescription("Defines if the last message published will be made available to new subscriptions.") + private Boolean lastMsgRetained = false; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/jms/JMSChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/jms/JMSChannelBinding.java new file mode 100644 index 00000000..3d74dac6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/jms/JMSChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.jms; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes JMS channel binding. + * + * @version 0.1.0 + * @see JMS channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class JMSChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBinding.java new file mode 100644 index 00000000..66b61ea5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBinding.java @@ -0,0 +1,76 @@ +package com.asyncapi.v3.binding.channel.kafka; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Kafka channel binding. + * + * @version 0.4.0 + * @see Kafka channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Kafka channel binding.") +public class KafkaChannelBinding extends ChannelBinding { + + /** + * Kafka topic name if different from channel name. + */ + @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("Kafka topic name if different from channel name.") + private String topic; + + /** + * Number of partitions configured on this topic (useful to know how many parallel consumers you may run). + *

                            + * MUST be positive. + */ + @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Number of partitions must be greater or equals to 1" + ) + @JsonProperty("partitions") + @JsonPropertyDescription("Number of partitions configured on this topic (useful to know how many parallel consumers you may run).") + private Integer partitions; + + /** + * Number of replicas configured on this topic. + *

                            + * MUST be positive. + */ + @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Number of replicas must be greater or equals to 1" + ) + @JsonProperty("replicas") + @JsonPropertyDescription("Number of replicas configured on this topic.") + private Integer replicas; + + /** + * Topic configuration properties that are relevant for the API. + */ + @Nullable + @JsonProperty("topicConfiguration") + @JsonPropertyDescription("Topic configuration properties that are relevant for the API.") + private KafkaChannelTopicConfiguration topicConfiguration; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + private String bindingVersion = "0.4.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java new file mode 100644 index 00000000..a58e764a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicCleanupPolicy.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.channel.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum KafkaChannelTopicCleanupPolicy { + + @JsonProperty("compact") + COMPACT, + + @JsonProperty("delete") + DELETE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicConfiguration.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicConfiguration.java new file mode 100644 index 00000000..63ed484c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/kafka/KafkaChannelTopicConfiguration.java @@ -0,0 +1,83 @@ +package com.asyncapi.v3.binding.channel.kafka; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * This objects contains information about the API relevant topic configuration in Kafka. + * + * @version 0.4.0 + * @see Kafka channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class KafkaChannelTopicConfiguration { + + /** + * The cleanup.policy configuration option. + *

                            + * array may only contain delete and/or compact + */ + @Nullable + @JsonProperty("cleanup.policy") + private List cleanupPolicy; + + /** + * The retention.ms configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = -1, + message = "retention.ms must be greater or equals to -1" + ) + @JsonProperty("retention.ms") + @JsonPropertyDescription("The [`retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_retention.ms) configuration option.") + private Integer retentionMs; + + /** + * The retention.bytes configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = -1, + message = "retention.bytes must be greater or equals to -1" + ) + @JsonProperty("retention.bytes") + @JsonPropertyDescription("The [`retention.bytes`](https://kafka.apache.org/documentation/#topicconfigs_retention.bytes) configuration option.") + private Integer retentionBytes; + + /** + * The delete.retention.ms configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "delete.retention.ms must be greater or equals to 0" + ) + @JsonProperty("delete.retention.ms") + @JsonPropertyDescription("The [`delete.retention.ms`](https://kafka.apache.org/documentation/#topicconfigs_delete.retention.ms) configuration option.") + private Integer deleteRetentionMs; + + /** + * The max.message.bytes configuration option. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "max.message.bytes must be greater or equals to 0" + ) + @JsonProperty("max.message.bytes") + @JsonPropertyDescription("The [`max.message.bytes`](https://kafka.apache.org/documentation/#topicconfigs_max.message.bytes) configuration option.") + private Integer maxMessageBytes; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mercure/MercureChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mercure/MercureChannelBinding.java new file mode 100644 index 00000000..8cdb274b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mercure/MercureChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.mercure; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Mercure channel binding. + * + * @version 0.1.0 + * @see Mercure channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MercureChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt/MQTTChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt/MQTTChannelBinding.java new file mode 100644 index 00000000..8f1ad80b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt/MQTTChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.mqtt; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes MQTT channel binding. + * + * @version 0.1.0 + * @see MQTT channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTTChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt5/MQTT5ChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt5/MQTT5ChannelBinding.java new file mode 100644 index 00000000..6386770b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/mqtt5/MQTT5ChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.mqtt5; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes MQTT 5 channel binding. + * + * @version 0.2.0 + * @see MQTT 5 channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTT5ChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/nats/NATSChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/nats/NATSChannelBinding.java new file mode 100644 index 00000000..c069aabe --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/nats/NATSChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.nats; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes NATS channel binding. + * + * @version 0.1.0 + * @see NATS channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class NATSChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBinding.java new file mode 100644 index 00000000..df114f94 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBinding.java @@ -0,0 +1,101 @@ +package com.asyncapi.v3.binding.channel.pulsar; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Pulsar channel binding. + * + * @version 0.1.0 + * @see Pulsar channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Pulsar channel binding.") +public class PulsarChannelBinding extends ChannelBinding { + + /** + * The namespace the channel is associated with. + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty("namespace") + @JsonPropertyDescription("The namespace the channel is associated with.") + private String namespace = ""; + + /** + * Persistence of the topic in Pulsar. It MUST be either persistent or non-persistent. + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "persistence", defaultValue = "persistent") + @JsonPropertyDescription("Persistence of the topic in Pulsar. It MUST be either persistent or non-persistent.") + private PulsarChannelPersistence persistence = PulsarChannelPersistence.PERSISTENT; + + /** + * Topic compaction threshold given in Megabytes. + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "Topic compaction threshold must be greater or equals to 0." + ) + @JsonProperty("compaction") + @JsonPropertyDescription("Topic compaction threshold given in Megabytes.") + private Integer compaction; + + /** + * A list of clusters the topic is replicated to. + */ + @Nullable + @JsonProperty("geo-replication") + @JsonPropertyDescription("A list of clusters the topic is replicated to.") + private List geoReplication; + + /** + * Topic retention policy. + */ + @Nullable + @JsonProperty("retention") + @JsonPropertyDescription("Topic retention policy.") + private PulsarChannelRetentionDefinition retention; + + /** + * Message time-to-live in seconds. + */ + @Nullable + @JsonProperty("ttl") + @JsonPropertyDescription("Message time-to-live in seconds.") + private Integer ttl; + + /** + * Message deduplication. When true, it ensures that each message produced on Pulsar topics is persisted to disk only once. + */ + @Nullable + @JsonProperty("deduplication") + @JsonPropertyDescription("Message deduplication. When true, it ensures that each message produced on Pulsar topics is persisted to disk only once.") + private Boolean deduplication; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelPersistence.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelPersistence.java new file mode 100644 index 00000000..8af581a8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelPersistence.java @@ -0,0 +1,22 @@ +package com.asyncapi.v3.binding.channel.pulsar; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Describes Pulsar channel persistence. + * + * @version 0.1.0 + * @see Pulsar channel binding + * @author Pavel Bodiachevskii + */ +@JsonClassDescription("Describes Pulsar channel persistence.") +public enum PulsarChannelPersistence { + + @JsonProperty("persistent") + PERSISTENT, + + @JsonProperty("non-persistent") + NON_PERSISTENT + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelRetentionDefinition.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelRetentionDefinition.java new file mode 100644 index 00000000..badd4b15 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelRetentionDefinition.java @@ -0,0 +1,44 @@ +package com.asyncapi.v3.binding.channel.pulsar; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Pulsar channel retention definition. + *

                            + * The Retention Definition Object is used to describe the Pulsar Retention policy. + * + * @version 0.1.0 + * @see Pulsar channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@JsonClassDescription("Describes Pulsar channel retention definition.") +public class PulsarChannelRetentionDefinition { + + /** + * Time given in Minutes. + */ + @Nullable + @Builder.Default + @JsonProperty("time") + @JsonPropertyDescription("Time given in Minutes.") + private Integer time = 0; + + /** + * Size given in MegaBytes. + */ + @Nullable + @Builder.Default + @JsonProperty("size") + @JsonPropertyDescription("Size given in MegaBytes.") + private Integer size = 0; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/redis/RedisChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/redis/RedisChannelBinding.java new file mode 100644 index 00000000..a061a679 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/redis/RedisChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.redis; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Redis channel binding. + * + * @version 0.1.0 + * @see Redis channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RedisChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sns/SNSChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sns/SNSChannelBinding.java new file mode 100644 index 00000000..f2e8b833 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sns/SNSChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.sns; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SNS channel binding. + * + * @version 0.1.0 + * @see SNS channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SNSChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/solace/SolaceChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/solace/SolaceChannelBinding.java new file mode 100644 index 00000000..cbd31a55 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/solace/SolaceChannelBinding.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.channel.solace; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Solace channel binding. + * + * @version 0.3.0 + * @see Solace channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SolaceChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sqs/SQSChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sqs/SQSChannelBinding.java new file mode 100644 index 00000000..961a8ad6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/sqs/SQSChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.sqs; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SQS channel binding. + * + * @version 0.1.0 + * @see SQS channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SQSChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/stomp/STOMPChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/stomp/STOMPChannelBinding.java new file mode 100644 index 00000000..f4b13a98 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/stomp/STOMPChannelBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.channel.stomp; + +import com.asyncapi.v3.binding.channel.ChannelBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes STOMP channel binding. + * + * @version 0.1.0 + * @see STOMP channel binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class STOMPChannelBinding extends ChannelBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBinding.java new file mode 100644 index 00000000..d1255317 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBinding.java @@ -0,0 +1,66 @@ +package com.asyncapi.v3.binding.channel.ws; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes WebSockets channel binding. + *

                            + * When using WebSockets, the channel represents the connection. Unlike other protocols that support multiple virtual + * channels (topics, routing keys, etc.) per connection, WebSockets doesn't support virtual channels or, put it another + * way, there's only one channel and its characteristics are strongly related to the protocol used for the handshake, + * i.e., HTTP. + * + * @version 0.1.0 + * @see WebSockets channel binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes WebSockets channel binding.") +public class WebSocketsChannelBinding extends ChannelBinding { + + /** + * The HTTP method to use when establishing the connection. Its value MUST be either GET or POST. + */ + @Nullable + @JsonProperty("method") + @JsonPropertyDescription("The HTTP method to use when establishing the connection. Its value MUST be either GET or POST.") + private WebSocketsChannelMethod method; + + /** + * A Schema object containing the definitions for each query parameter. This schema MUST be of type + * object and have a properties key. + */ + @Nullable + @JsonProperty("query") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema query; + + /** + * A Schema object containing the definitions of the HTTP headers to use when establishing the connection. + * This schema MUST be of type object and have a properties key. + */ + @Nullable + @JsonProperty("headers") + @JsonPropertyDescription("A Schema object containing the definitions of the HTTP headers to use when establishing the connection. This schema MUST be of type object and have a properties key.") + private Schema headers; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelMethod.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelMethod.java new file mode 100644 index 00000000..48362411 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelMethod.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.channel.ws; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum WebSocketsChannelMethod { + + @JsonProperty("GET") + GET, + + @JsonProperty("POST") + POST + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBindingTest.kt new file mode 100644 index 00000000..f45456ca --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/amqp/AMQPChannelBindingTest.kt @@ -0,0 +1,42 @@ +package com.asyncapi.v3.binding.channel.amqp + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.binding.channel.amqp.exchange.AMQPChannelExchangeProperties +import com.asyncapi.v3.binding.channel.amqp.exchange.AMQPChannelExchangeType +import com.asyncapi.v3.binding.channel.amqp.queue.AMQPChannelQueueProperties + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class AMQPChannelBindingTest: SerDeTest() { + + override fun objectClass() = AMQPChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/amqp/amqpChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/amqp/amqpChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/amqp/amqpChannelBinding - wrongly extended.json" + + override fun build(): AMQPChannelBinding { + return AMQPChannelBinding.builder() + .`is`(AMQPChannelType.ROUTING_KEY) + .queue(AMQPChannelQueueProperties.builder() + .name("my-queue-name") + .durable(true) + .exclusive(true) + .autoDelete(false) + .build() + ) + .exchange(AMQPChannelExchangeProperties.builder() + .name("myExchange") + .type(AMQPChannelExchangeType.TOPIC) + .durable(true) + .autoDelete(false) + .build() + ) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt new file mode 100644 index 00000000..a345ee89 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3.binding.channel.anypointmq + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class AnypointMQChannelBindingTest: SerDeTest() { + + override fun objectClass() = AnypointMQChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/anypoint/anypointMQChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/anypoint/anypointMQChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json" + + override fun build(): AnypointMQChannelBinding { + return AnypointMQChannelBinding.builder() + .destination("user-signup-exchg") + .destinationType(AnypointMQChannelDestinationType.EXCHANGE) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt new file mode 100644 index 00000000..e4e85536 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt @@ -0,0 +1,42 @@ +package com.asyncapi.v3.binding.channel.googlepubsub + +import com.asyncapi.v3.SerDeTest + +class GooglePubSubChannelBindingTest: SerDeTest() { + + override fun objectClass() = GooglePubSubChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json" + + override fun build(): GooglePubSubChannelBinding { + return GooglePubSubChannelBinding.builder() + .topic("projects/your-project/topics/topic-proto-schema") + .messageRetentionDuration("86400s") + .messageStoragePolicy(GooglePubSubChannelMessageStoragePolicy( + listOf( + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ) + )) + .schemaSettings(GooglePubSubChannelSchemaSettings.builder() + .encoding("binary") + .name("projects/your-project/schemas/message-proto") + .build() + ) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBindingTest.kt new file mode 100644 index 00000000..44b62126 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ibmmq/IBMMQChannelBindingTest.kt @@ -0,0 +1,35 @@ +package com.asyncapi.v3.binding.channel.ibmmq + +import com.asyncapi.v3.SerDeTest + +class IBMMQChannelBindingTest: SerDeTest() { + + override fun objectClass() = IBMMQChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/ibmmq/ibmMQChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json" + + override fun build(): IBMMQChannelBinding { + return IBMMQChannelBinding.builder() + .destinationType(IBMMQChannelDestinationType.TOPIC) + .queue(IBMMQChannelQueueProperties.builder() + .objectName("message") + .isPartitioned(false) + .exclusive(true) + .build() + ) + .topic(IBMMQChannelTopicProperties.builder() + .string("messages") + .objectName("message") + .durablePermitted(true) + .lastMsgRetained(true) + .build() + ) + .maxMsgLength(1024) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBindingTest.kt new file mode 100644 index 00000000..6b53ef17 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/kafka/KafkaChannelBindingTest.kt @@ -0,0 +1,38 @@ +package com.asyncapi.v3.binding.channel.kafka + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class KafkaChannelBindingTest: SerDeTest() { + + override fun objectClass() = KafkaChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/kafka/kafkaChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/kafka/kafkaChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json" + + override fun build(): KafkaChannelBinding { + return KafkaChannelBinding.builder() + .topic("my-specific-topic-name") + .partitions(20) + .replicas(3) + .topicConfiguration(KafkaChannelTopicConfiguration.builder() + .cleanupPolicy(listOf( + KafkaChannelTopicCleanupPolicy.DELETE, + KafkaChannelTopicCleanupPolicy.COMPACT + )) + .retentionMs(604_800_000) + .retentionBytes(1_000_000_000) + .deleteRetentionMs(86_400_000) + .maxMessageBytes(1_048_588) + .build() + ) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBindingTest.kt new file mode 100644 index 00000000..2c2d6da8 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/pulsar/PulsarChannelBindingTest.kt @@ -0,0 +1,31 @@ +package com.asyncapi.v3.binding.channel.pulsar + +import com.asyncapi.v3.SerDeTest + +class PulsarChannelBindingTest: SerDeTest() { + + override fun objectClass() = PulsarChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/pulsar/pulsarChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/pulsar/pulsarChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json" + + override fun build(): PulsarChannelBinding { + return PulsarChannelBinding.builder() + .namespace("staging") + .persistence(PulsarChannelPersistence.PERSISTENT) + .compaction(1000) + .geoReplication(listOf("us-east1", "us-west1")) + .retention(PulsarChannelRetentionDefinition.builder() + .time(7) + .size(1000) + .build() + ) + .ttl(360) + .deduplication(false) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBindingTest.kt new file mode 100644 index 00000000..8182aec6 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/channel/ws/WebSocketsChannelBindingTest.kt @@ -0,0 +1,53 @@ +package com.asyncapi.v3.binding.channel.ws + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class WebSocketsChannelBindingTest: SerDeTest() { + + override fun objectClass() = WebSocketsChannelBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/channel/ws/webSocketsChannelBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json" + + override fun build(): WebSocketsChannelBinding { + return WebSocketsChannelBinding.builder() + .method(WebSocketsChannelMethod.GET) + .query(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "ref", + Schema.builder() + .type(Type.STRING) + .description("Referral.") + .build() + ) + )) + .build() + ) + .headers(Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair( + "Authentication", + Schema.builder() + .type(Type.STRING) + .description("Authentication token") + .build() + ) + )) + .build() + ) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - extended.json new file mode 100644 index 00000000..61ef0ad3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - extended.json @@ -0,0 +1,23 @@ +{ + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - wrongly extended.json new file mode 100644 index 00000000..a6433eb4 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding - wrongly extended.json @@ -0,0 +1,24 @@ +{ + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding.json new file mode 100644 index 00000000..e91cacb2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/amqp/amqpChannelBinding.json @@ -0,0 +1,18 @@ +{ + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - extended.json new file mode 100644 index 00000000..4a27096c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - extended.json @@ -0,0 +1,10 @@ +{ + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json new file mode 100644 index 00000000..2b92a333 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding.json new file mode 100644 index 00000000..c5d7598b --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/anypoint/anypointMQChannelBinding.json @@ -0,0 +1,5 @@ +{ + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json new file mode 100644 index 00000000..560f8293 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json @@ -0,0 +1,20 @@ +{ + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json new file mode 100644 index 00000000..374dbd31 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json @@ -0,0 +1,30 @@ +{ + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding.json new file mode 100644 index 00000000..fb9b3d3e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding.json @@ -0,0 +1,24 @@ +{ + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - extended.json new file mode 100644 index 00000000..a0f4e987 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - extended.json @@ -0,0 +1,21 @@ +{ + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json new file mode 100644 index 00000000..deff6b3f --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json @@ -0,0 +1,22 @@ +{ + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding.json new file mode 100644 index 00000000..7ebdae40 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ibmmq/ibmMQChannelBinding.json @@ -0,0 +1,16 @@ +{ + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - extended.json new file mode 100644 index 00000000..1b79a719 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - extended.json @@ -0,0 +1,18 @@ +{ + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json new file mode 100644 index 00000000..8373d9c4 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json @@ -0,0 +1,22 @@ +{ + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding.json new file mode 100644 index 00000000..c937ae56 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/kafka/kafkaChannelBinding.json @@ -0,0 +1,16 @@ +{ + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - extended.json new file mode 100644 index 00000000..17b32f84 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - extended.json @@ -0,0 +1,18 @@ +{ + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json new file mode 100644 index 00000000..eb0e8d65 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json @@ -0,0 +1,22 @@ +{ + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding.json new file mode 100644 index 00000000..21af1c35 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/pulsar/pulsarChannelBinding.json @@ -0,0 +1,16 @@ +{ + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json new file mode 100644 index 00000000..022ca87a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json @@ -0,0 +1,199 @@ +{ + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json new file mode 100644 index 00000000..535cd4bc --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json @@ -0,0 +1,27 @@ +{ + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding.json new file mode 100644 index 00000000..f30d9581 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding.json @@ -0,0 +1,21 @@ +{ + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } +} \ No newline at end of file From 977d04ea10ec62e8e4edaa25457857e9e7b83d3a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 3 Oct 2023 00:45:20 +0400 Subject: [PATCH 118/210] feat(3.0.0): Channel --- .../ChannelParametersDeserializer.java | 25 + .../channel/message/MessagesDeserializer.java | 25 + .../com/asyncapi/v3/_0_0/model/AsyncAPI.java | 6 +- .../v3/_0_0/model/channel/Channel.java | 147 + .../v3/_0_0/model/channel/ChannelItem.java | 4 - .../channel/ChannelBindingsDeserializer.java | 68 + .../v3/_0_0/model/channel/ChannelTest.kt | 155 + .../model/channel/channel - extended.json | 5387 +++++++++++++++++ .../channel/channel - wrongly extended.json | 2012 ++++++ .../channel with reference - extended.json | 5386 ++++++++++++++++ ...nel with reference - wrongly extended.json | 2011 ++++++ .../model/channel/channel with reference.json | 2005 ++++++ .../json/v3/3.0.0/model/channel/channel.json | 2006 ++++++ 13 files changed, 19230 insertions(+), 7 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelParametersDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java delete mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/channel/ChannelBindingsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelParametersDeserializer.java new file mode 100644 index 00000000..88e86b94 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelParametersDeserializer.java @@ -0,0 +1,25 @@ +package com.asyncapi.v3._0_0.jackson.model.channel; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.Parameter; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes {@link com.asyncapi.v3._0_0.model.channel.Parameter} variables map. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +public class ChannelParametersDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Parameter.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagesDeserializer.java new file mode 100644 index 00000000..8438ddc2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/message/MessagesDeserializer.java @@ -0,0 +1,25 @@ +package com.asyncapi.v3._0_0.jackson.model.channel.message; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.Message; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes {@link Message} variables map. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +public class MessagesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Message.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java index a2aabafe..b65617bd 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java @@ -1,7 +1,7 @@ package com.asyncapi.v3._0_0.model; import com.asyncapi.v3.ExtendableObject; -import com.asyncapi.v3._0_0.model.channel.ChannelItem; +import com.asyncapi.v3._0_0.model.channel.Channel; import com.asyncapi.v3._0_0.model.component.Components; import com.asyncapi.v3._0_0.model.info.Info; import com.asyncapi.v3._0_0.model.server.Server; @@ -89,14 +89,14 @@ public class AsyncAPI extends ExtendableObject { */ @Nullable @Builder.Default - private Map channels = new HashMap<>(); + private Map channels = new HashMap<>(); /** * The available operations for the API. */ @Nullable @Builder.Default - private Map operations = new HashMap<>(); + private Map operations = new HashMap<>(); /** * An element to hold various schemas for the specification. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java new file mode 100644 index 00000000..91d91de9 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java @@ -0,0 +1,147 @@ +package com.asyncapi.v3._0_0.model.channel; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.message.MessagesDeserializer; +import com.asyncapi.v3._0_0.jackson.model.channel.ChannelParametersDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3._0_0.model.channel.message.Message; +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.asyncapi.v3.jackson.binding.channel.ChannelBindingsDeserializer; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * Describes a shared communication channel. + * + * @version 3.0.0 + * @see ChannelItem + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Channel extends ExtendableObject { + + /** + * An optional string representation of this channel's address. The address is typically the "topic name", + * "routing key", "event type", or "path". When null or absent, it MUST be interpreted as unknown. + * This is useful when the address is generated dynamically at runtime or can't be known upfront. + *

                            + * It MAY contain Channel Address Expressions. + */ + @Nullable + private String address; + + /** + * A human-friendly title for the channel. + */ + @Nullable + private String title; + + /** + * A short summary of the channel. + */ + @Nullable + private String summary; + + /** + * An optional description of this channel. + *

                            + * CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * An array of $ref pointers to the definition of the servers in which this channel is available. + *

                            + * If servers is absent or empty, this channel MUST be available on all the servers defined in the Servers Object. + * Please note the servers property value MUST be an array of Reference Objects and, therefore, + * MUST NOT contain an array of Server Objects. + *

                            + * However, it is RECOMMENDED that parsers (or other software) dereference this property + * for a better development experience. + */ + @Nullable + private List servers; + + /** + * A map of the parameters included in the channel address. + *

                            + * It MUST be present only when the address contains Channel Address Expressions. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Parameter}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ChannelParametersDeserializer.class) + private Map parameters; + + /** + * A map of the messages that will be sent to this channel by any application at any time. + * Every message sent to this channel MUST be valid against one, and only one, of the message + * objects defined in this map. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Message}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessagesDeserializer.class) + private Map messages; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ChannelBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ChannelBindingsDeserializer.class) + private Map bindings; + + /** + * A list of tags for logical grouping of channels. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation for this channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java deleted file mode 100644 index ba1177d0..00000000 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/ChannelItem.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.asyncapi.v3._0_0.model.channel; - -public class ChannelItem { -} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/channel/ChannelBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/channel/ChannelBindingsDeserializer.java new file mode 100644 index 00000000..38ffac56 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/channel/ChannelBindingsDeserializer.java @@ -0,0 +1,68 @@ +package com.asyncapi.v3.jackson.binding.channel; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelBinding; +import com.asyncapi.v3.binding.channel.amqp1.AMQP1ChannelBinding; +import com.asyncapi.v3.binding.channel.anypointmq.AnypointMQChannelBinding; +import com.asyncapi.v3.binding.channel.googlepubsub.GooglePubSubChannelBinding; +import com.asyncapi.v3.binding.channel.http.HTTPChannelBinding; +import com.asyncapi.v3.binding.channel.ibmmq.IBMMQChannelBinding; +import com.asyncapi.v3.binding.channel.jms.JMSChannelBinding; +import com.asyncapi.v3.binding.channel.kafka.KafkaChannelBinding; +import com.asyncapi.v3.binding.channel.mercure.MercureChannelBinding; +import com.asyncapi.v3.binding.channel.mqtt.MQTTChannelBinding; +import com.asyncapi.v3.binding.channel.mqtt5.MQTT5ChannelBinding; +import com.asyncapi.v3.binding.channel.nats.NATSChannelBinding; +import com.asyncapi.v3.binding.channel.pulsar.PulsarChannelBinding; +import com.asyncapi.v3.binding.channel.redis.RedisChannelBinding; +import com.asyncapi.v3.binding.channel.sns.SNSChannelBinding; +import com.asyncapi.v3.binding.channel.solace.SolaceChannelBinding; +import com.asyncapi.v3.binding.channel.sqs.SQSChannelBinding; +import com.asyncapi.v3.binding.channel.stomp.STOMPChannelBinding; +import com.asyncapi.v3.binding.channel.ws.WebSocketsChannelBinding; +import com.asyncapi.v3.jackson.BindingsMapDeserializer; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; + +/** + * Serializes channel bindings map. + * + * @author Pavel Bodiachevskii + */ +public class ChannelBindingsDeserializer extends BindingsMapDeserializer { + + public Object chooseKnownPojo(String bindingKey, JsonNode binding, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = binding.traverse(objectCodec)) { + if (binding.get("$ref" ) != null) { + return jsonParser.readValueAs(Reference.class); + } + + switch (bindingKey) { + case "amqp": return jsonParser.readValueAs(AMQPChannelBinding.class); + case "amqp1": return jsonParser.readValueAs(AMQP1ChannelBinding.class); + case "anypointmq": return jsonParser.readValueAs(AnypointMQChannelBinding.class); + case "googlepubsub": return jsonParser.readValueAs(GooglePubSubChannelBinding.class); + case "http": return jsonParser.readValueAs(HTTPChannelBinding.class); + case "ibmmq": return jsonParser.readValueAs(IBMMQChannelBinding.class); + case "jms": return jsonParser.readValueAs(JMSChannelBinding.class); + case "kafka": return jsonParser.readValueAs(KafkaChannelBinding.class); + case "mercure": return jsonParser.readValueAs(MercureChannelBinding.class); + case "mqtt": return jsonParser.readValueAs(MQTTChannelBinding.class); + case "mqtt5": return jsonParser.readValueAs(MQTT5ChannelBinding.class); + case "nats": return jsonParser.readValueAs(NATSChannelBinding.class); + case "pulsar": return jsonParser.readValueAs(PulsarChannelBinding.class); + case "redis": return jsonParser.readValueAs(RedisChannelBinding.class); + case "sns": return jsonParser.readValueAs(SNSChannelBinding.class); + case "solace": return jsonParser.readValueAs(SolaceChannelBinding.class); + case "sqs": return jsonParser.readValueAs(SQSChannelBinding.class); + case "stomp": return jsonParser.readValueAs(STOMPChannelBinding.class); + case "ws": return jsonParser.readValueAs(WebSocketsChannelBinding.class); + default: return null; + } + } + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt new file mode 100644 index 00000000..e48f456b --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt @@ -0,0 +1,155 @@ +package com.asyncapi.v3._0_0.model.channel + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentationTest +import com.asyncapi.v3._0_0.model.TagTest +import com.asyncapi.v3._0_0.model.TagTestWithReferenceToExternalDocs +import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithMultiFormatSchema +import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithReference +import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithSchema +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelBindingTest +import com.asyncapi.v3.binding.channel.anypointmq.AnypointMQChannelBindingTest +import com.asyncapi.v3.binding.channel.googlepubsub.GooglePubSubChannelBindingTest +import com.asyncapi.v3.binding.channel.ibmmq.IBMMQChannelBindingTest +import com.asyncapi.v3.binding.channel.kafka.KafkaChannelBindingTest +import com.asyncapi.v3.binding.channel.pulsar.PulsarChannelBindingTest +import com.asyncapi.v3.binding.channel.ws.WebSocketsChannelBindingTest + +class ChannelTest: SerDeTest() { + + override fun objectClass() = Channel::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/channel.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/channel - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/channel - wrongly extended.json" + + override fun build(): Channel { + return Channel.builder() + .address("users.{userId}") + .title("Users channel") + .summary("messages about user events.") + .description("This channel is used to exchange messages about users signing up") + .servers(listOf( + Reference("#/components/servers/1"), + Reference("#/components/servers/2"), + Reference("#/components/servers/3") + )) + .parameters(mapOf( + Pair("userId", ParameterTest().build()), + Pair("userStatus", Reference("#/components/parameters/user-status")) + )) + .messages(mapOf( + Pair("changeStatus", Reference("#/components/parameters/user-status")), + Pair("message", MessageTestWithSchema().build()), + Pair("message 2", MessageTestWithMultiFormatSchema().build()), + Pair("message with reference", MessageTestWithReference().build()), + )) + .bindings(bindings()) + .tags(listOf( + TagTest().build(), + TagTestWithReferenceToExternalDocs().build(), + Reference("#/components/tag") + )) + .externalDocs(ExternalDocumentationTest().build()) + .build() + } + + companion object { + fun bindings(): Map { + return mapOf( + Pair("amqp", AMQPChannelBindingTest().build()), + Pair("amqp1", Reference("#/components/channelBindings/amqp1")), + Pair("anypointmq", AnypointMQChannelBindingTest().build()), + Pair("googlepubsub", GooglePubSubChannelBindingTest().build()), + Pair("http", Reference("#/components/channelBindings/http")), + Pair("ibmmq", IBMMQChannelBindingTest().build()), + Pair("jms", Reference("#/components/channelBindings/jms")), + Pair("kafka", KafkaChannelBindingTest().build()), + Pair("mercure", Reference("#/components/channelBindings/mercure")), + Pair("mqtt", Reference("#/components/channelBindings/mqtt")), + Pair("mqtt5", Reference("#/components/channelBindings/mqtt5")), + Pair("nats", Reference("#/components/channelBindings/nats")), + Pair("pulsar", PulsarChannelBindingTest().build()), + Pair("redis", Reference("#/components/channelBindings/redis")), + Pair("sns", Reference("#/components/channelBindings/sns")), + Pair("solace", Reference("#/components/channelBindings/solace")), + Pair("sqs", Reference("#/components/channelBindings/sqs")), + Pair("stomp", Reference("#/components/channelBindings/stomp")), + Pair("ws", WebSocketsChannelBindingTest().build()) + ) + } + } + +} + +class ChannelTestWithReference: SerDeTest() { + + override fun objectClass() = Channel::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/channel/channel with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/channel/channel with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json" + + override fun build(): Channel { + return Channel.builder() + .address("users.{userId}") + .title("Users channel") + .summary("messages about user events.") + .description("This channel is used to exchange messages about users signing up") + .servers(listOf( + Reference("#/components/servers/1"), + Reference("#/components/servers/2"), + Reference("#/components/servers/3") + )) + .parameters(mapOf( + Pair("userId", ParameterTest().build()), + Pair("userStatus", Reference("#/components/parameters/user-status")) + )) + .messages(mapOf( + Pair("changeStatus", Reference("#/components/parameters/user-status")), + Pair("message", MessageTestWithSchema().build()), + Pair("message 2", MessageTestWithMultiFormatSchema().build()), + Pair("message with reference", MessageTestWithReference().build()), + )) + .bindings(bindings()) + .tags(listOf( + TagTest().build(), + TagTestWithReferenceToExternalDocs().build(), + Reference("#/components/tag") + )) + .externalDocs(Reference("#/components/external-doc")) + .build() + } + + companion object { + fun bindings(): Map { + return mapOf( + Pair("amqp", AMQPChannelBindingTest().build()), + Pair("amqp1", Reference("#/components/channelBindings/amqp1")), + Pair("anypointmq", AnypointMQChannelBindingTest().build()), + Pair("googlepubsub", GooglePubSubChannelBindingTest().build()), + Pair("http", Reference("#/components/channelBindings/http")), + Pair("ibmmq", IBMMQChannelBindingTest().build()), + Pair("jms", Reference("#/components/channelBindings/jms")), + Pair("kafka", KafkaChannelBindingTest().build()), + Pair("mercure", Reference("#/components/channelBindings/mercure")), + Pair("mqtt", Reference("#/components/channelBindings/mqtt")), + Pair("mqtt5", Reference("#/components/channelBindings/mqtt5")), + Pair("nats", Reference("#/components/channelBindings/nats")), + Pair("pulsar", PulsarChannelBindingTest().build()), + Pair("redis", Reference("#/components/channelBindings/redis")), + Pair("sns", Reference("#/components/channelBindings/sns")), + Pair("solace", Reference("#/components/channelBindings/solace")), + Pair("sqs", Reference("#/components/channelBindings/sqs")), + Pair("stomp", Reference("#/components/channelBindings/stomp")), + Pair("ws", WebSocketsChannelBindingTest().build()) + ) + } + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json new file mode 100644 index 00000000..8e6e9957 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json @@ -0,0 +1,5387 @@ +{ + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json new file mode 100644 index 00000000..97175680 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json @@ -0,0 +1,2012 @@ +{ + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json new file mode 100644 index 00000000..c41a9270 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json @@ -0,0 +1,5386 @@ +{ + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json new file mode 100644 index 00000000..9efbe3a8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json @@ -0,0 +1,2011 @@ +{ + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "$ref": "#/components/external-doc" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json new file mode 100644 index 00000000..d60772f8 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json @@ -0,0 +1,2005 @@ +{ + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json new file mode 100644 index 00000000..35db9993 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json @@ -0,0 +1,2006 @@ +{ + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } +} \ No newline at end of file From 879341c3aed715c5a746fa12ddfbb891108f910a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 3 Oct 2023 02:01:20 +0400 Subject: [PATCH 119/210] feat(3.0.0): OperationBinding --- .../binding/operation/OperationBinding.java | 13 ++ .../operation/amqp/AMQPOperationBinding.java | 150 ++++++++++++++++++ .../amqp1/AMQP1OperationBinding.java | 21 +++ .../AnypointMQOperationBinding.java | 21 +++ .../GooglePubSubOperationBinding.java | 21 +++ .../operation/http/HTTPOperationBinding.java | 66 ++++++++ .../operation/http/HTTPOperationMethod.java | 22 +++ .../operation/http/HTTPOperationType.java | 13 ++ .../ibmmq/IBMMQOperationBinding.java | 23 +++ .../operation/jms/JMSOperationBinding.java | 21 +++ .../kafka/KafkaOperationBinding.java | 49 ++++++ .../mercure/MercureOperationBinding.java | 21 +++ .../operation/mqtt/MQTTOperationBinding.java | 67 ++++++++ .../mqtt5/MQTT5OperationBinding.java | 21 +++ .../operation/nats/NATSOperationBinding.java | 46 ++++++ .../pulsar/PulsarOperationBinding.java | 23 +++ .../redis/RedisOperationBinding.java | 21 +++ .../operation/sns/SNSOperationBinding.java | 21 +++ .../solace/SolaceOperationBinding.java | 46 ++++++ .../solace/SolaceOperationDestination.java | 83 ++++++++++ .../solace/queue/SolaceOperationQueue.java | 82 ++++++++++ .../solace/topic/SolaceOperationTopic.java | 39 +++++ .../operation/sqs/SQSOperationBinding.java | 21 +++ .../stomp/STOMPOperationBinding.java | 21 +++ .../ws/WebSocketsOperationBinding.java | 21 +++ .../amqp/AMQPOperationBindingTest.kt | 30 ++++ .../http/HTTPOperationBindingTest.kt | 41 +++++ .../kafka/KafkaOperationBindingTest.kt | 30 ++++ .../mqtt/MQTTOperationBindingTest.kt | 22 +++ .../nats/NATSOperationBindingTest.kt | 21 +++ .../solace/SolaceOperationBindingTest.kt | 47 ++++++ .../amqp/amqpOperationBinding - extended.json | 18 +++ ...qpOperationBinding - wrongly extended.json | 23 +++ .../operation/amqp/amqpOperationBinding.json | 17 ++ .../http/httpOperationBinding - extended.json | 105 ++++++++++++ ...tpOperationBinding - wrongly extended.json | 25 +++ .../operation/http/httpOperationBinding.json | 19 +++ .../kafkaOperationBinding - extended.json | 102 ++++++++++++ ...kaOperationBinding - wrongly extended.json | 21 +++ .../kafka/kafkaOperationBinding.json | 15 ++ .../mqtt/mqttOperationBinding - extended.json | 10 ++ ...ttOperationBinding - wrongly extended.json | 11 ++ .../operation/mqtt/mqttOperationBinding.json | 5 + .../nats/natsOperationBinding - extended.json | 9 ++ ...tsOperationBinding - wrongly extended.json | 10 ++ .../operation/nats/natsOperationBinding.json | 4 + .../solaceOperationBinding - extended.json | 33 ++++ ...ceOperationBinding - wrongly extended.json | 37 +++++ .../solace/solaceOperationBinding.json | 31 ++++ 49 files changed, 1639 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp1/AMQP1OperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/anypointmq/AnypointMQOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/googlepubsub/GooglePubSubOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationMethod.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationType.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ibmmq/IBMMQOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/jms/JMSOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mercure/MercureOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt5/MQTT5OperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/nats/NATSOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/pulsar/PulsarOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/redis/RedisOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sns/SNSOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationDestination.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/queue/SolaceOperationQueue.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/topic/SolaceOperationTopic.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sqs/SQSOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/stomp/STOMPOperationBinding.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ws/WebSocketsOperationBinding.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/http/HTTPOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/nats/NATSOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/solace/SolaceOperationBindingTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java new file mode 100644 index 00000000..091629c8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.operation; + +import com.asyncapi.v3.ExtendableObject; +import lombok.EqualsAndHashCode; + +/** + * Describes AsyncAPI operation binding. + * + * @author Pavel Bodiachevskii + */ +@EqualsAndHashCode(callSuper = true) +public class OperationBinding extends ExtendableObject { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBinding.java new file mode 100644 index 00000000..56d53677 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBinding.java @@ -0,0 +1,150 @@ +package com.asyncapi.v3.binding.operation.amqp; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes AMQP 0-9-1 operation binding. + *

                            + * Contains information about the operation representation in AMQP. + * + * @version 0.2.0 + * @see AMQP operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes AMQP 0-9-1 operation binding.") +public class AMQPOperationBinding extends OperationBinding { + + /** + * TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "TTL (Time-To-Live) for the message must be greater than or equal to zero" + ) + @JsonProperty("expiration") + @JsonPropertyDescription("TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero.") + private Integer expiration; + + /** + * Identifies the user who has sent the message. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("userId") + @JsonPropertyDescription("Identifies the user who has sent the message.") + private String userId; + + /** + * The routing keys the message should be routed to at the time of publishing. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("cc") + @JsonPropertyDescription("The routing keys the message should be routed to at the time of publishing.") + private List cc; + + /** + * A priority for the message. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("priority") + @JsonPropertyDescription("A priority for the message.") + private Integer priority; + + /** + * Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent). + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @javax.validation.constraints.Min( + value = 1, + message = "Delivery mode of the message must be either 1 (transient) or 2 (persistent)" + ) + @javax.validation.constraints.Max( + value = 2, + message = "Delivery mode of the message must be either 1 (transient) or 2 (persistent)" + ) + @JsonProperty("deliveryMode") + @JsonPropertyDescription("Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent).") + private Integer deliveryMode; + + /** + * Whether the message is mandatory or not. + *

                            + * Applies to: publish + */ + @Nullable + @JsonProperty("mandatory") + @JsonPropertyDescription("Whether the message is mandatory or not.") + private Boolean mandatory; + + /** + * Like {@link #cc} but consumers will not receive this information. + *

                            + * Applies to: publish + */ + @Nullable + @JsonProperty("bcc") + @JsonPropertyDescription("Like cc but consumers will not receive this information.") + private List bcc; + + /** + * Name of the queue where the consumer should send the response. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("replyTo") + @JsonPropertyDescription("Name of the queue where the consumer should send the response.") + private String replyTo; + + /** + * Whether the message should include a timestamp or not. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("timestamp") + @JsonPropertyDescription("Whether the message should include a timestamp or not.") + private Boolean timestamp; + + /** + * Whether the consumer should ack the message or not. + *

                            + * Applies to: subscribe + */ + @Nullable + @JsonProperty("ack") + @JsonPropertyDescription("Whether the consumer should ack the message or not.") + private Boolean ack; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.2.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp1/AMQP1OperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp1/AMQP1OperationBinding.java new file mode 100644 index 00000000..29a7ce02 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/amqp1/AMQP1OperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.amqp1; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes AMQP 1.0 operation binding. + * + * @version 0.1.0 + * @see AMQP operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AMQP1OperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/anypointmq/AnypointMQOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/anypointmq/AnypointMQOperationBinding.java new file mode 100644 index 00000000..8555af46 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/anypointmq/AnypointMQOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.anypointmq; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Anypoint MQ operation binding. + * + * @version 0.0.1 + * @see Anypoint MQ operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AnypointMQOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/googlepubsub/GooglePubSubOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/googlepubsub/GooglePubSubOperationBinding.java new file mode 100644 index 00000000..7b074d70 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/googlepubsub/GooglePubSubOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.googlepubsub; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Google Cloud Pub/Sub operation binding. + * + * @version 0.1.0 + * @see Google Cloud Pub/Sub operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class GooglePubSubOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationBinding.java new file mode 100644 index 00000000..50a6c961 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationBinding.java @@ -0,0 +1,66 @@ +package com.asyncapi.v3.binding.operation.http; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Describes HTTP operation binding. + *

                            + * Contains information about the operation representation in HTTP. + * + * @version 0.1.0 + * @see HTTP operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class HTTPOperationBinding extends OperationBinding { + + /** + * Required. + *

                            + * Type of operation. Its value MUST be either request or response. + */ + @NotNull + @Builder.Default + @javax.validation.constraints.NotNull + @JsonProperty(value = "type", required = true) + @JsonPropertyDescription("Type of operation. Its value MUST be either request or response.") + private HTTPOperationType type = HTTPOperationType.REQUEST; + + /** + * 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. + */ + @Nullable + @JsonProperty("method") + @JsonPropertyDescription("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.") + private HTTPOperationMethod method; + + /** + * A Schema object containing the definitions for each query parameter. This schema MUST be of type object + * and have a properties key. + */ + @Nullable + @JsonProperty("query") + @JsonPropertyDescription("A Schema object containing the definitions for each query parameter. This schema MUST be of type object and have a properties key.") + private Schema query; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationMethod.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationMethod.java new file mode 100644 index 00000000..d71ddf2a --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationMethod.java @@ -0,0 +1,22 @@ +package com.asyncapi.v3.binding.operation.http; + +/** + * Describes HTTP operation type. + *

                            + * Contains information about the operation type. + * + * @version 0.1.0 + * @see HTTP operation binding + * @author Pavel Bodiachevskii + */ +public enum HTTPOperationMethod { + GET, + PUT, + POST, + PATCH, + DELETE, + HEAD, + OPTIONS, + CONNECT, + TRACE +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationType.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationType.java new file mode 100644 index 00000000..0c7d5031 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/http/HTTPOperationType.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3.binding.operation.http; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum HTTPOperationType { + + @JsonProperty("request") + REQUEST, + + @JsonProperty("response") + RESPONSE + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ibmmq/IBMMQOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ibmmq/IBMMQOperationBinding.java new file mode 100644 index 00000000..0313e97f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ibmmq/IBMMQOperationBinding.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.operation.ibmmq; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * Describes IBM MQ operation binding. + *

                            + * This object MUST NOT contain any properties. Its name is reserved for future use. + * + * @version 0.1.0 + * @see IBM MQ operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class IBMMQOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/jms/JMSOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/jms/JMSOperationBinding.java new file mode 100644 index 00000000..f3a1f1a8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/jms/JMSOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.jms; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes JMS operation binding. + * + * @version 0.1.0 + * @see JMS operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class JMSOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBinding.java new file mode 100644 index 00000000..c0558d01 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBinding.java @@ -0,0 +1,49 @@ +package com.asyncapi.v3.binding.operation.kafka; + +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Kafka operation binding. + *

                            + * Contains information about the operation representation in Kafka. + * + * @version 0.1.0 + * @see Kafka operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class KafkaOperationBinding extends OperationBinding { + + /** + * Id of the consumer group. + */ + @Nullable + @JsonProperty("groupId") + @JsonPropertyDescription("Id of the consumer group.") + private Schema groupId; + + /** + * Id of the consumer inside a consumer group. + */ + @Nullable + @JsonProperty("clientId") + @JsonPropertyDescription("Id of the consumer inside a consumer group.") + private Schema clientId; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + private String bindingVersion = "0.4.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mercure/MercureOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mercure/MercureOperationBinding.java new file mode 100644 index 00000000..10dcaa96 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mercure/MercureOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.mercure; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Mercure operation binding. + * + * @version 0.1.0 + * @see Mercure operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MercureOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBinding.java new file mode 100644 index 00000000..c9f36c7c --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBinding.java @@ -0,0 +1,67 @@ +package com.asyncapi.v3.binding.operation.mqtt; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes MQTT operation binding. + *

                            + * Contains information about the operation representation in MQTT. + * + * @version 0.1.0 + * @see MQTT operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes MQTT operation binding.") +public class MQTTOperationBinding extends OperationBinding { + + /** + * Defines how hard the broker/client will try to ensure that a message is received. + * Its value MUST be either 0, 1 or 2. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @javax.validation.constraints.Min( + value = 0, + message = "QoS must be greater or equals to 0." + ) + @javax.validation.constraints.Max( + value = 2, + message = "QoS must be lower or equals to 0." + ) + @JsonProperty("qos") + @JsonPropertyDescription("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).") + private Integer qos; + + /** + * Whether the broker should retain the message or not. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @JsonProperty("retain") + @JsonPropertyDescription("Whether the broker should retain the message or not.") + private Boolean retain; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + *

                            + * Applies to: publish, subscribe + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt5/MQTT5OperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt5/MQTT5OperationBinding.java new file mode 100644 index 00000000..2964aad6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/mqtt5/MQTT5OperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.mqtt5; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes MQTT 5 operation binding. + * + * @version 0.2.0 + * @see MQTT 5 operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MQTT5OperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/nats/NATSOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/nats/NATSOperationBinding.java new file mode 100644 index 00000000..9a6c2cf2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/nats/NATSOperationBinding.java @@ -0,0 +1,46 @@ +package com.asyncapi.v3.binding.operation.nats; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * Describes NATS operation binding. + * + * @version 0.1.0 + * @see NATS operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes NATS operation binding.") +public class NATSOperationBinding extends OperationBinding { + + /** + * Defines the name of the queue to use. It MUST NOT exceed 255 characters. + */ + @Nullable + @javax.validation.constraints.Size( + max = 255, + message = "Queue name must be lower or equals to 255." + ) + @JsonProperty("queue") + @JsonPropertyDescription("Defines the name of the queue to use. It MUST NOT exceed 255 characters.") + private String queue; + + /** + * The version of this binding. If omitted, "latest" MUST be assumed. + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.1.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/pulsar/PulsarOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/pulsar/PulsarOperationBinding.java new file mode 100644 index 00000000..3670d242 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/pulsar/PulsarOperationBinding.java @@ -0,0 +1,23 @@ +package com.asyncapi.v3.binding.operation.pulsar; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * Describes Pulsar operation binding. + *

                            + * This object MUST NOT contain any properties. Its name is reserved for future use. + * + * @version 0.1.0 + * @see Pulsar operation binding + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class PulsarOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/redis/RedisOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/redis/RedisOperationBinding.java new file mode 100644 index 00000000..0c4eb8e0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/redis/RedisOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.redis; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes Redis operation binding. + * + * @version 0.1.0 + * @see Redis operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class RedisOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sns/SNSOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sns/SNSOperationBinding.java new file mode 100644 index 00000000..e0445fc8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sns/SNSOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.sns; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SNS operation binding. + * + * @version 0.1.0 + * @see SNS operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SNSOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationBinding.java new file mode 100644 index 00000000..bd87d8a7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationBinding.java @@ -0,0 +1,46 @@ +package com.asyncapi.v3.binding.operation.solace; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Solace operation binding. + *

                            + * Contains information about the operation representation in Solace PubSub+ Broker. + * + * @version 0.3.0 + * @see Solace operation binding + * @author Dennis Brinley, Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@JsonClassDescription("Describes Solace operation binding.") +public class SolaceOperationBinding extends OperationBinding { + + /** + * List of destinations + */ + @Nullable + @JsonProperty("destinations") + @JsonPropertyDescription("List of destinations") + private List destinations; + + /** + * The version of this binding. (e.g. bindingVersion: 0.3.0) + */ + @Nullable + @Builder.Default + @JsonProperty("bindingVersion") + @JsonPropertyDescription("The version of this binding.") + private String bindingVersion = "0.3.0"; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationDestination.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationDestination.java new file mode 100644 index 00000000..ef959dfb --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/SolaceOperationDestination.java @@ -0,0 +1,83 @@ +package com.asyncapi.v3.binding.operation.solace; + +import com.asyncapi.v3.binding.operation.solace.queue.SolaceOperationQueue; +import com.asyncapi.v3.binding.operation.solace.topic.SolaceOperationTopic; +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +/** + * Describes Solace destination. + *

                            + * Contains information about the destination in Solace PubSub+ Broker. + * + * @version 0.3.0 + * @see Solace operation binding + * @author Dennis Brinley, Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonClassDescription("Describes Solace destination.") +public class SolaceOperationDestination { + + /** + * 'queue' or 'topic'. If the type is queue, then the subscriber can bind to the queue, which in turn will + * subscribe to the topic as represented by the channel name or to the provided topicSubscriptions. + */ + @Nullable + @JsonProperty("destinationType") + @JsonPropertyDescription("'queue' or 'topic'. If the type is queue, then the subscriber can bind to the queue, which in turn will subscribe to the topic as represented by the channel name or to the provided topicSubscriptions.") + private Type destinationType; + + /** + * 'direct' or 'persistent'. This determines the quality of service for publishing messages as documented here. + * Default is 'persistent'. + */ + @Nullable + @Builder.Default + @JsonProperty(value = "deliveryMode", defaultValue = "persistent") + @JsonPropertyDescription("'direct' or 'persistent'. This determines the quality of service for publishing messages as documented at https://docs.solace.com/Get-Started/Core-Concepts-Message-Delivery-Modes.htm. Default is 'persistent'.") + private DeliveryMode deliveryMode = DeliveryMode.PERSISTENT; + + /** + * Solace queue destination details. + */ + @Nullable + @JsonProperty("queue") + @JsonPropertyDescription("Solace queue destination details.") + private SolaceOperationQueue queue; + + /** + * Solace topic destination details. + */ + @Nullable + @JsonProperty("topic") + @JsonPropertyDescription("Solace topic destination details.") + private SolaceOperationTopic topic; + + public enum Type { + + @JsonProperty("queue") + QUEUE, + @JsonProperty("topic") + TOPIC + + } + + public enum DeliveryMode { + + @JsonProperty("direct") + DIRECT, + @JsonProperty("persistent") + PERSISTENT + + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/queue/SolaceOperationQueue.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/queue/SolaceOperationQueue.java new file mode 100644 index 00000000..d2c3f5c7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/queue/SolaceOperationQueue.java @@ -0,0 +1,82 @@ +package com.asyncapi.v3.binding.operation.solace.queue; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Solace queue. + *

                            + * Contains information about the queue in Solace PubSub+ Broker. + * + * @version 0.3.0 + * @see Solace operation binding + * @author Dennis Brinley, Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonClassDescription("Describes Solace queue.") +public class SolaceOperationQueue { + + /** + * The name of the queue, only applicable when destinationType is 'queue'. + */ + @Nullable + @JsonProperty("name") + @JsonPropertyDescription("The name of the queue, only applicable when destinationType is 'queue'.") + private String name; + + /** + * A list of topics that the queue subscribes to, only applicable when destinationType is 'queue'. + * If none is given, the queue subscribes to the topic as represented by the channel name. + */ + @Nullable + @JsonProperty("topicSubscriptions") + @JsonPropertyDescription("A list of topics that the queue subscribes to, only applicable when destinationType is 'queue'. If none is given, the queue subscribes to the topic as represented by the channel name.") + private List topicSubscriptions; + + /** + * 'exclusive' or 'nonexclusive'. This is documented here. Only applicable when destinationType is 'queue'. + */ + @Nullable + @JsonProperty("accessType") + @JsonPropertyDescription("'exclusive' or 'nonexclusive'. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Endpoints.htm#Queues. Only applicable when destinationType is 'queue'.") + private AccessType accessType; + + /** + * The maximum amount of message spool that the given queue may use. This is documented here. + * Only applicable when destinationType is 'queue'. + */ + @Nullable + @JsonProperty("maxMsgSpoolSize") + @JsonPropertyDescription("The maximum amount of message spool that the given queue may use. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Message-Spooling.htm#max-spool-usage. Only applicable when destinationType is 'queue'.") + private String maxMsgSpoolSize; + + /** + * The maximum TTL to apply to messages to be spooled. This is documented here. + * Only applicable when destinationType is 'queue'. + */ + @Nullable + @JsonProperty("maxTtl") + @JsonPropertyDescription("The maximum TTL to apply to messages to be spooled. This is documented at https://docs.solace.com/Messaging/Guaranteed-Msg/Configuring-Queues.htm. Only applicable when destinationType is 'queue'.") + private String maxTtl; + + public enum AccessType { + + @JsonProperty("exclusive") + EXCLUSIVE, + @JsonProperty("non-exclusive") + NON_EXCLUSIVE + + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/topic/SolaceOperationTopic.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/topic/SolaceOperationTopic.java new file mode 100644 index 00000000..9d20880d --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/solace/topic/SolaceOperationTopic.java @@ -0,0 +1,39 @@ +package com.asyncapi.v3.binding.operation.solace.topic; + +import com.fasterxml.jackson.annotation.JsonClassDescription; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes Solace topic. + *

                            + * Contains information about the topic in Solace PubSub+ Broker. + * + * @version 0.3.0 + * @see Solace operation binding + * @author Dennis Brinley, Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@JsonClassDescription("Describes Solace topic.") +public class SolaceOperationTopic { + + /** + * A list of topics that the client subscribes to, only applicable when destinationType is 'topic'. + * If none is given, the client subscribes to the topic as represented by the channel name. + */ + @Nullable + @JsonProperty("topicSubscriptions") + @JsonPropertyDescription("A list of topics that the client subscribes to, only applicable when destinationType is 'topic'. If none is given, the client subscribes to the topic as represented by the channel name.") + protected List topicSubscriptions; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sqs/SQSOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sqs/SQSOperationBinding.java new file mode 100644 index 00000000..de34599b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/sqs/SQSOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.sqs; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes SQS operation binding. + * + * @version 0.1.0 + * @see SQS operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class SQSOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/stomp/STOMPOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/stomp/STOMPOperationBinding.java new file mode 100644 index 00000000..5679be40 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/stomp/STOMPOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.stomp; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes STOMP operation binding. + * + * @version 0.1.0 + * @see STOMP operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class STOMPOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ws/WebSocketsOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ws/WebSocketsOperationBinding.java new file mode 100644 index 00000000..a2e14bc5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/ws/WebSocketsOperationBinding.java @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.ws; + +import com.asyncapi.v3.binding.operation.OperationBinding; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * This class MUST NOT contain any properties. Its name is reserved for future use. + *

                            + * Describes WebSockets operation binding. + * + * @version 0.1.0 + * @see WebSockets operation binding + * @author Pavel Bodiachevskii + */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class WebSocketsOperationBinding extends OperationBinding { +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBindingTest.kt new file mode 100644 index 00000000..0fc26178 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/amqp/AMQPOperationBindingTest.kt @@ -0,0 +1,30 @@ +package com.asyncapi.v3.binding.operation.amqp + +import com.asyncapi.v3.SerDeTest + +class AMQPOperationBindingTest: SerDeTest() { + + override fun objectClass() = AMQPOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/amqp/amqpOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/amqp/amqpOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/amqp/amqpOperationBinding - wrongly extended.json" + + override fun build(): AMQPOperationBinding { + return AMQPOperationBinding.builder() + .expiration(100_000) + .userId("guest") + .cc(listOf("user.logs")) + .priority(10) + .deliveryMode(2) + .mandatory(false) + .bcc(listOf("external.audit")) + .replyTo("user.signedup") + .timestamp(true) + .ack(false) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/http/HTTPOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/http/HTTPOperationBindingTest.kt new file mode 100644 index 00000000..9a101826 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/http/HTTPOperationBindingTest.kt @@ -0,0 +1,41 @@ +package com.asyncapi.v3.binding.operation.http + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type +import java.math.BigDecimal + +class HTTPOperationBindingTest: SerDeTest() { + + override fun objectClass() = HTTPOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/http/httpOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/http/httpOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/http/httpOperationBinding - wrongly extended.json" + + override fun build(): HTTPOperationBinding { + return HTTPOperationBinding.builder() + .type(HTTPOperationType.REQUEST) + .method(HTTPOperationMethod.GET) + .query(Schema.builder() + .type(Type.OBJECT) + .required(listOf("companyId")) + .properties(mapOf( + Pair( + "companyId", + Schema.builder() + .type(Type.NUMBER) + .minimum(BigDecimal.ONE) + .description("The Id of the company.") + .build() + ) + )) + .additionalProperties(false) + .build() + ) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBindingTest.kt new file mode 100644 index 00000000..e42eb7bf --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/kafka/KafkaOperationBindingTest.kt @@ -0,0 +1,30 @@ +package com.asyncapi.v3.binding.operation.kafka + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type + +class KafkaOperationBindingTest: SerDeTest() { + + override fun objectClass() = KafkaOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/kafka/kafkaOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json" + + override fun build(): KafkaOperationBinding { + return KafkaOperationBinding.builder() + .groupId(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myGroupId")) + .build()) + .clientId(Schema.builder() + .type(Type.STRING) + .enumValue(listOf("myClientId")) + .build()) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBindingTest.kt new file mode 100644 index 00000000..e199cf50 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/mqtt/MQTTOperationBindingTest.kt @@ -0,0 +1,22 @@ +package com.asyncapi.v3.binding.operation.mqtt + +import com.asyncapi.v3.SerDeTest + +class MQTTOperationBindingTest: SerDeTest() { + + override fun objectClass() = MQTTOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/mqtt/mqttOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/mqtt/mqttOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json" + + override fun build(): MQTTOperationBinding { + return MQTTOperationBinding.builder() + .qos(2) + .retain(true) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/nats/NATSOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/nats/NATSOperationBindingTest.kt new file mode 100644 index 00000000..60f0ef6c --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/nats/NATSOperationBindingTest.kt @@ -0,0 +1,21 @@ +package com.asyncapi.v3.binding.operation.nats + +import com.asyncapi.v3.SerDeTest + +class NATSOperationBindingTest: SerDeTest() { + + override fun objectClass() = NATSOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/nats/natsOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/nats/natsOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/nats/natsOperationBinding - wrongly extended.json" + + override fun build(): NATSOperationBinding { + return NATSOperationBinding.builder() + .queue("messages") + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/solace/SolaceOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/solace/SolaceOperationBindingTest.kt new file mode 100644 index 00000000..cae516f2 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/binding/operation/solace/SolaceOperationBindingTest.kt @@ -0,0 +1,47 @@ +package com.asyncapi.v3.binding.operation.solace + +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3.binding.operation.solace.queue.SolaceOperationQueue +import com.asyncapi.v3.binding.operation.solace.topic.SolaceOperationTopic + +class SolaceOperationBindingTest: SerDeTest() { + + override fun objectClass() = SolaceOperationBinding::class.java + + override fun baseObjectJson() = "/json/v3/binding/operation/solace/solaceOperationBinding.json" + + override fun extendedObjectJson() = "/json/v3/binding/operation/solace/solaceOperationBinding - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/binding/operation/solace/solaceOperationBinding - wrongly extended.json" + + override fun build(): SolaceOperationBinding { + return SolaceOperationBinding.builder() + .destinations(listOf( + SolaceOperationDestination.builder() + .destinationType(SolaceOperationDestination.Type.QUEUE) + .queue(SolaceOperationQueue.builder() + .name("CreatedHREvents") + .topicSubscriptions(listOf("person/*/created")) + .accessType(SolaceOperationQueue.AccessType.EXCLUSIVE) + .maxMsgSpoolSize("1,500") + .maxTtl("60") + .build() + ) + .build(), + SolaceOperationDestination.builder() + .destinationType(SolaceOperationDestination.Type.QUEUE) + .queue(SolaceOperationQueue.builder() + .name("UpdatedHREvents") + .topicSubscriptions(listOf("person/*/updated")) + .build() + ) + .topic(SolaceOperationTopic.builder() + .topicSubscriptions(listOf("person/*/updated")) + .build() + ) + .build() + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - extended.json new file mode 100644 index 00000000..a19a9822 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - extended.json @@ -0,0 +1,18 @@ +{ + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - wrongly extended.json new file mode 100644 index 00000000..10ba23cd --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding - wrongly extended.json @@ -0,0 +1,23 @@ +{ + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding.json new file mode 100644 index 00000000..3bfeef70 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/amqp/amqpOperationBinding.json @@ -0,0 +1,17 @@ +{ + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json new file mode 100644 index 00000000..d114cb25 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json @@ -0,0 +1,105 @@ +{ + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - wrongly extended.json new file mode 100644 index 00000000..278fb5ae --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - wrongly extended.json @@ -0,0 +1,25 @@ +{ + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding.json new file mode 100644 index 00000000..d832076d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding.json @@ -0,0 +1,19 @@ +{ + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json new file mode 100644 index 00000000..9dbacd7c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json @@ -0,0 +1,102 @@ +{ + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json new file mode 100644 index 00000000..a36503dd --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json @@ -0,0 +1,21 @@ +{ + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding.json new file mode 100644 index 00000000..542d1fe2 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding.json @@ -0,0 +1,15 @@ +{ + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - extended.json new file mode 100644 index 00000000..987a9860 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - extended.json @@ -0,0 +1,10 @@ +{ + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json new file mode 100644 index 00000000..6a0014f5 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json @@ -0,0 +1,11 @@ +{ + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding.json new file mode 100644 index 00000000..7500db5c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/mqtt/mqttOperationBinding.json @@ -0,0 +1,5 @@ +{ + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - extended.json new file mode 100644 index 00000000..2a77c3b3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - extended.json @@ -0,0 +1,9 @@ +{ + "queue" : "messages", + "bindingVersion" : "0.1.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - wrongly extended.json new file mode 100644 index 00000000..1c6e0e8e --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "queue": "messages", + "bindingVersion": "0.1.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding.json new file mode 100644 index 00000000..53d874bb --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/nats/natsOperationBinding.json @@ -0,0 +1,4 @@ +{ + "queue": "messages", + "bindingVersion": "0.1.0" +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json new file mode 100644 index 00000000..e8a8ed88 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json @@ -0,0 +1,33 @@ +{ + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - wrongly extended.json new file mode 100644 index 00000000..ef371f24 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - wrongly extended.json @@ -0,0 +1,37 @@ +{ + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding.json new file mode 100644 index 00000000..e5b10158 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding.json @@ -0,0 +1,31 @@ +{ + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" +} \ No newline at end of file From 45d44b642eb733da4c3120ae59ef8d69ca41043d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 4 Oct 2023 01:28:56 +0400 Subject: [PATCH 120/210] feat(3.0.0): OperationReplyAddress --- .../reply/OperationReplyAddress.java | 37 +++++++++++++++++++ .../reply/OperationReplyAddressTest.kt | 26 +++++++++++++ .../operationReplyAddress - extended.json | 9 +++++ ...rationReplyAddress - wrongly extended.json | 10 +++++ .../reply/operationReplyAddress.json | 4 ++ 5 files changed, 86 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddressTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java new file mode 100644 index 00000000..768711d0 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java @@ -0,0 +1,37 @@ +package com.asyncapi.v3._0_0.model.operation.reply; + +import com.asyncapi.v3.ExtendableObject; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +/** + * An object that specifies where an operation has to send the reply. + *

                            + * For specifying and computing the location of a reply address, a runtime expression is used. + * + * @version 3.0.0 + * @see Operation + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OperationReplyAddress extends ExtendableObject { + + /** + * An optional description of the address. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * REQUIRED. + *

                            + * A runtime expression that specifies the location of the reply address. + */ + @Nullable + private String location; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddressTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddressTest.kt new file mode 100644 index 00000000..d4060116 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddressTest.kt @@ -0,0 +1,26 @@ +package com.asyncapi.v3._0_0.model.operation.reply + +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class OperationReplyAddressTest: SerDeTest() { + + override fun objectClass() = OperationReplyAddress::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReplyAddress.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReplyAddress - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReplyAddress - wrongly extended.json" + + override fun build(): OperationReplyAddress { + return OperationReplyAddress.builder() + .description("Consumer inbox") + .location("\$message.header#/replyTo") + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - extended.json new file mode 100644 index 00000000..b29e8c8c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - extended.json @@ -0,0 +1,9 @@ +{ + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo", + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - wrongly extended.json new file mode 100644 index 00000000..570fd1fd --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress - wrongly extended.json @@ -0,0 +1,10 @@ +{ + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo", + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress.json new file mode 100644 index 00000000..90fa3ab1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReplyAddress.json @@ -0,0 +1,4 @@ +{ + "description": "Consumer inbox", + "location": "$message.header#/replyTo" +} \ No newline at end of file From 2f89ae60c0391c092e2aa3d3cc3636d530648208 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 4 Oct 2023 01:42:42 +0400 Subject: [PATCH 121/210] feat(3.0.0): OperationReply --- .../OperationReplyAddressDeserializer.java | 22 +++++++ .../model/operation/reply/OperationReply.java | 60 +++++++++++++++++++ .../operation/reply/OperationReplyTest.kt | 56 +++++++++++++++++ .../reply/operationReply - extended.json | 21 +++++++ .../operationReply - wrongly extended.json | 26 ++++++++ ...rationReply with reference - extended.json | 20 +++++++ ...ply with reference - wrongly extended.json | 25 ++++++++ .../reply/operationReply with reference.json | 19 ++++++ .../model/operation/reply/operationReply.json | 20 +++++++ 9 files changed, 269 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyAddressDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyAddressDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyAddressDeserializer.java new file mode 100644 index 00000000..08d220cc --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyAddressDeserializer.java @@ -0,0 +1,22 @@ +package com.asyncapi.v3._0_0.jackson.model.operation.reply; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyAddress; +import com.asyncapi.v3.jackson.ReferenceOrObjectDeserializer; + +/** + * Serializes operation reply address + * @author Pavel Bodiachevskii + */ +public class OperationReplyAddressDeserializer extends ReferenceOrObjectDeserializer { + + @Override + public Class objectTypeClass() { + return OperationReplyAddress.class; + } + + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java new file mode 100644 index 00000000..b362e8a7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java @@ -0,0 +1,60 @@ +package com.asyncapi.v3._0_0.model.operation.reply; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.operation.reply.OperationReplyAddressDeserializer; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply + * pattern, the reply object represents the response message. + * + * @version 3.0.0 + * @see Operation + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OperationReply extends ExtendableObject { + + /** + * Definition of the address that implementations MUST use for the reply. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationReplyAddress}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = OperationReplyAddressDeserializer.class) + private Object address; + + /** + * A $ref pointer to the definition of the channel in which this operation is performed. + * When address is specified, the address property of the channel referenced by this property MUST be either null + * or not defined. Please note the channel property value MUST be a Reference Object and, therefore, MUST NOT contain + * a Channel Object. However, it is RECOMMENDED that parsers (or other software) dereference this property for + * a better development experience. + */ + @Nullable + private Reference channel; + + /** + * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. + * It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message + * processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. + * Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. + * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. + */ + @Nullable + private List messages; + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyTest.kt new file mode 100644 index 00000000..74af36c6 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyTest.kt @@ -0,0 +1,56 @@ +package com.asyncapi.v3._0_0.model.operation.reply + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class OperationReplyTest: SerDeTest() { + + override fun objectClass() = OperationReply::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply - wrongly extended.json" + + override fun build(): OperationReply { + return OperationReply.builder() + .address(OperationReplyAddressTest().build()) + .channel(Reference("#/components/channels/channel")) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .build() + } + +} + +class OperationReplyTestWithReference: SerDeTest() { + + override fun objectClass() = OperationReply::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/reply/operationReply with reference - wrongly extended.json" + + override fun build(): OperationReply { + return OperationReply.builder() + .address(Reference("#/components/addresses/address")) + .channel(Reference("#/components/channels/channel")) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - extended.json new file mode 100644 index 00000000..83c51aca --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - extended.json @@ -0,0 +1,21 @@ +{ + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - wrongly extended.json new file mode 100644 index 00000000..2aeadcde --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply - wrongly extended.json @@ -0,0 +1,26 @@ +{ + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - extended.json new file mode 100644 index 00000000..b844af0d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - extended.json @@ -0,0 +1,20 @@ +{ + "address" : { + "$ref" : "#/components/addresses/address" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - wrongly extended.json new file mode 100644 index 00000000..9bf87ab7 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference - wrongly extended.json @@ -0,0 +1,25 @@ +{ + "address": { + "$ref" : "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference.json new file mode 100644 index 00000000..b4a84b9b --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply with reference.json @@ -0,0 +1,19 @@ +{ + "address": { + "$ref": "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply.json new file mode 100644 index 00000000..59809bdb --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/reply/operationReply.json @@ -0,0 +1,20 @@ +{ + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] +} \ No newline at end of file From 5445d18301fdb8e67198f9ebc85a3f13ef11180b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 4 Oct 2023 02:24:07 +0400 Subject: [PATCH 122/210] feat(3.0.0): OperationTrait --- .../reply/OperationReplyDeserializer.java | 22 ++ .../_0_0/model/operation/OperationTrait.java | 130 +++++++ .../OperationBindingsDeserializer.java | 69 ++++ .../model/operation/OperationTraitTest.kt | 134 +++++++ .../operation/operationTrait - extended.json | 342 ++++++++++++++++++ .../operationTrait - wrongly extended.json | 201 ++++++++++ ...rationTrait with reference - extended.json | 328 +++++++++++++++++ ...ait with reference - wrongly extended.json | 183 ++++++++++ .../operationTrait with reference.json | 177 +++++++++ .../3.0.0/model/operation/operationTrait.json | 195 ++++++++++ 10 files changed, 1781 insertions(+) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/operation/OperationBindingsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyDeserializer.java new file mode 100644 index 00000000..b019f92e --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/reply/OperationReplyDeserializer.java @@ -0,0 +1,22 @@ +package com.asyncapi.v3._0_0.jackson.model.operation.reply; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply; +import com.asyncapi.v3.jackson.ReferenceOrObjectDeserializer; + +/** + * Serializes operation reply + * @author Pavel Bodiachevskii + */ +public class OperationReplyDeserializer extends ReferenceOrObjectDeserializer { + + @Override + public Class objectTypeClass() { + return OperationReply.class; + } + + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java new file mode 100644 index 00000000..aa47246b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java @@ -0,0 +1,130 @@ +package com.asyncapi.v3._0_0.model.operation; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.operation.reply.OperationReplyDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply; +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.asyncapi.v3.jackson.binding.operation.OperationBindingsDeserializer; +import com.asyncapi.v3.jackson.security_scheme.SecuritySchemesDeserializer; +import com.asyncapi.v3.security_scheme.SecurityScheme; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the + * Operation Object, except the action, channel and traits ones. + * + * @version 3.0.0 + * @see Operation + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class OperationTrait extends ExtendableObject { + + /** + * A human-friendly title for the operation. + */ + @Nullable + private String title; + + /** + * A short summary of what the operation is about. + */ + @Nullable + private String summary; + + /** + * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * A declaration of which security schemes are associated with this operation. + * Only one of the security scheme objects MUST be satisfied to authorize an operation. + * In cases where Server Security also applies, it MUST also be satisfied. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link SecurityScheme}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = SecuritySchemesDeserializer.class) + private List security; + + /** + * A list of tags for logical grouping and categorization of operations. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation for this channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationBinding}
                            • + *
                            + */ + @JsonDeserialize(using = OperationBindingsDeserializer.class) + private Map bindings; + + /** + * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. + * It MUST contain a subset of the messages defined in the channel referenced in this operation. + * Every message processed by this operation MUST be valid against one, and only one, of the message objects + * referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, + * therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) + * dereference this property for a better development experience. + */ + private List messages; + + /** + * The definition of the reply in a request-reply operation. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationReply}
                            • + *
                            + */ + @JsonDeserialize(using = OperationReplyDeserializer.class) + private Object reply; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/operation/OperationBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/operation/OperationBindingsDeserializer.java new file mode 100644 index 00000000..0b4b86e1 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/binding/operation/OperationBindingsDeserializer.java @@ -0,0 +1,69 @@ +package com.asyncapi.v3.jackson.binding.operation; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.binding.operation.amqp.AMQPOperationBinding; +import com.asyncapi.v3.binding.operation.amqp1.AMQP1OperationBinding; +import com.asyncapi.v3.binding.operation.anypointmq.AnypointMQOperationBinding; +import com.asyncapi.v3.binding.operation.googlepubsub.GooglePubSubOperationBinding; +import com.asyncapi.v3.binding.operation.http.HTTPOperationBinding; +import com.asyncapi.v3.binding.operation.ibmmq.IBMMQOperationBinding; +import com.asyncapi.v3.binding.operation.jms.JMSOperationBinding; +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBinding; +import com.asyncapi.v3.binding.operation.mercure.MercureOperationBinding; +import com.asyncapi.v3.binding.operation.mqtt.MQTTOperationBinding; +import com.asyncapi.v3.binding.operation.mqtt5.MQTT5OperationBinding; +import com.asyncapi.v3.binding.operation.nats.NATSOperationBinding; +import com.asyncapi.v3.binding.operation.pulsar.PulsarOperationBinding; +import com.asyncapi.v3.binding.operation.redis.RedisOperationBinding; +import com.asyncapi.v3.binding.operation.sns.SNSOperationBinding; +import com.asyncapi.v3.binding.operation.solace.SolaceOperationBinding; +import com.asyncapi.v3.binding.operation.sqs.SQSOperationBinding; +import com.asyncapi.v3.binding.operation.stomp.STOMPOperationBinding; +import com.asyncapi.v3.binding.operation.ws.WebSocketsOperationBinding; +import com.asyncapi.v3.jackson.BindingsMapDeserializer; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; + +import java.io.IOException; + +/** + * Serializes operation bindings map. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +public class OperationBindingsDeserializer extends BindingsMapDeserializer { + + public Object chooseKnownPojo(String bindingKey, JsonNode binding, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = binding.traverse(objectCodec)) { + if (binding.get("$ref" ) != null) { + return jsonParser.readValueAs(Reference.class); + } + + switch (bindingKey) { + case "amqp": return jsonParser.readValueAs(AMQPOperationBinding.class); + case "amqp1": return jsonParser.readValueAs(AMQP1OperationBinding.class); + case "anypointmq": return jsonParser.readValueAs(AnypointMQOperationBinding.class); + case "googlepubsub": return jsonParser.readValueAs(GooglePubSubOperationBinding.class); + case "http": return jsonParser.readValueAs(HTTPOperationBinding.class); + case "ibmmq": return jsonParser.readValueAs(IBMMQOperationBinding.class); + case "jms": return jsonParser.readValueAs(JMSOperationBinding.class); + case "kafka": return jsonParser.readValueAs(KafkaOperationBinding.class); + case "mercure": return jsonParser.readValueAs(MercureOperationBinding.class); + case "mqtt": return jsonParser.readValueAs(MQTTOperationBinding.class); + case "mqtt5": return jsonParser.readValueAs(MQTT5OperationBinding.class); + case "nats": return jsonParser.readValueAs(NATSOperationBinding.class); + case "pulsar": return jsonParser.readValueAs(PulsarOperationBinding.class); + case "redis": return jsonParser.readValueAs(RedisOperationBinding.class); + case "sns": return jsonParser.readValueAs(SNSOperationBinding.class); + case "solace": return jsonParser.readValueAs(SolaceOperationBinding.class); + case "sqs": return jsonParser.readValueAs(SQSOperationBinding.class); + case "stomp": return jsonParser.readValueAs(STOMPOperationBinding.class); + case "ws": return jsonParser.readValueAs(WebSocketsOperationBinding.class); + default: return null; + } + } + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt new file mode 100644 index 00000000..38c081a8 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt @@ -0,0 +1,134 @@ +package com.asyncapi.v3._0_0.model.operation + +import com.asyncapi.v3.binding.operation.amqp.AMQPOperationBindingTest +import com.asyncapi.v3.binding.operation.http.HTTPOperationBindingTest +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBindingTest +import com.asyncapi.v3.binding.operation.mqtt.MQTTOperationBindingTest +import com.asyncapi.v3.binding.operation.nats.NATSOperationBindingTest +import com.asyncapi.v3.binding.operation.solace.SolaceOperationBindingTest +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyTest +import com.asyncapi.v3.security_scheme.ApiKeySecuritySchemeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class OperationTraitTest: SerDeTest() { + + override fun objectClass() = OperationTrait::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json" + + override fun build(): OperationTrait { + return OperationTrait.builder() + .title("Send message operation") + .summary("Send message") + .description("Send message to remote server") + .security(listOf( + ApiKeySecuritySchemeTest().build(), + Reference("#/components/security/plain") + )) + .tags(listOf( + Tag("messages", "operations with messages", ExternalDocumentation( + "Messages validation rules", "messages/validation-rules" + )), + Reference("#/components/tags/tag") + )) + .externalDocs(ExternalDocumentation("Messages validation rules", "messages/validation-rules")) + .bindings(mapOf( + Pair("amqp", AMQPOperationBindingTest().build()), + Pair("amqp1", Reference("#/components/operationBindings/amqp1")), + Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), + Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), + Pair("http", HTTPOperationBindingTest().build()), + Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), + Pair("jms", Reference("#/components/operationBindings/jms")), + Pair("kafka", KafkaOperationBindingTest().build()), + Pair("mercure", Reference("#/components/operationBindings/mercure")), + Pair("mqtt", MQTTOperationBindingTest().build()), + Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), + Pair("nats", NATSOperationBindingTest().build()), + Pair("pulsar", Reference("#/components/operationBindings/pulsar")), + Pair("redis", Reference("#/components/operationBindings/redis")), + Pair("sns", Reference("#/components/operationBindings/sns")), + Pair("solace", SolaceOperationBindingTest().build()), + Pair("sqs", Reference("#/components/operationBindings/sqs")), + Pair("stomp", Reference("#/components/operationBindings/stomp")), + Pair("ws", Reference("#/components/operationBindings/ws")) + )) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .reply(OperationReplyTest().build()) + .build() + } + +} + +class OperationTraitTestWithReference: SerDeTest() { + + override fun objectClass() = OperationTrait::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json" + + override fun build(): OperationTrait { + return OperationTrait.builder() + .title("Send message operation") + .summary("Send message") + .description("Send message to remote server") + .security(listOf( + ApiKeySecuritySchemeTest().build(), + Reference("#/components/security/plain") + )) + .tags(listOf( + Tag("messages", "operations with messages", ExternalDocumentation( + "Messages validation rules", "messages/validation-rules" + )), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPOperationBindingTest().build()), + Pair("amqp1", Reference("#/components/operationBindings/amqp1")), + Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), + Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), + Pair("http", HTTPOperationBindingTest().build()), + Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), + Pair("jms", Reference("#/components/operationBindings/jms")), + Pair("kafka", KafkaOperationBindingTest().build()), + Pair("mercure", Reference("#/components/operationBindings/mercure")), + Pair("mqtt", MQTTOperationBindingTest().build()), + Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), + Pair("nats", NATSOperationBindingTest().build()), + Pair("pulsar", Reference("#/components/operationBindings/pulsar")), + Pair("redis", Reference("#/components/operationBindings/redis")), + Pair("sns", Reference("#/components/operationBindings/sns")), + Pair("solace", SolaceOperationBindingTest().build()), + Pair("sqs", Reference("#/components/operationBindings/sqs")), + Pair("stomp", Reference("#/components/operationBindings/stomp")), + Pair("ws", Reference("#/components/operationBindings/ws")) + )) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .reply(Reference("#/components/replies/reply")) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json new file mode 100644 index 00000000..b91314eb --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json @@ -0,0 +1,342 @@ +{ + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json new file mode 100644 index 00000000..6b932104 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json @@ -0,0 +1,201 @@ +{ + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json new file mode 100644 index 00000000..57099242 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json @@ -0,0 +1,328 @@ +{ + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json new file mode 100644 index 00000000..bb25657b --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json @@ -0,0 +1,183 @@ +{ + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json new file mode 100644 index 00000000..515a29c9 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json @@ -0,0 +1,177 @@ +{ + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json new file mode 100644 index 00000000..ac447907 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json @@ -0,0 +1,195 @@ +{ + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } +} \ No newline at end of file From 0bb710e3008957b4cd760615fdab5306126f5ec8 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 4 Oct 2023 02:27:03 +0400 Subject: [PATCH 123/210] feat(3.0.0): OperationTrait @Nullable --- .../com/asyncapi/v3/_0_0/model/operation/OperationTrait.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java index aa47246b..891a5ed2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java @@ -102,6 +102,7 @@ public class OperationTrait extends ExtendableObject { *
                          • {@link OperationBinding}
                          • * */ + @Nullable @JsonDeserialize(using = OperationBindingsDeserializer.class) private Map bindings; @@ -113,6 +114,7 @@ public class OperationTrait extends ExtendableObject { * therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) * dereference this property for a better development experience. */ + @Nullable private List messages; /** @@ -124,6 +126,7 @@ public class OperationTrait extends ExtendableObject { *
                          • {@link OperationReply}
                          • * */ + @Nullable @JsonDeserialize(using = OperationReplyDeserializer.class) private Object reply; From e9e72a4c3a5a278d8346db5ecf653c895a9aa827 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 4 Oct 2023 03:02:53 +0400 Subject: [PATCH 124/210] feat(3.0.0): Operation --- .../OperationTraitsDeserializer.java | 24 + .../com/asyncapi/v3/_0_0/model/AsyncAPI.java | 3 +- .../v3/_0_0/model/operation/Operation.java | 167 +++ .../_0_0/model/operation/OperationAction.java | 13 + .../v3/_0_0/model/operation/OperationTest.kt | 148 +++ .../model/operation/operation - extended.json | 1007 +++++++++++++++++ .../operation - wrongly extended.json | 580 ++++++++++ .../operation with reference - extended.json | 993 ++++++++++++++++ ...ion with reference - wrongly extended.json | 562 +++++++++ .../operation/operation with reference.json | 556 +++++++++ .../v3/3.0.0/model/operation/operation.json | 574 ++++++++++ 11 files changed, 4626 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationTraitsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationTraitsDeserializer.java new file mode 100644 index 00000000..ee7cf16b --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationTraitsDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model.operation; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.OperationTrait; +import com.asyncapi.v3.jackson.ListOfReferencesOrObjectsDeserializer; + +/** + * Serializes operation traits list. + * + * @author Pavel Bodiachevskii + */ +public class OperationTraitsDeserializer extends ListOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return OperationTrait.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java index b65617bd..fbb1fd1e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java @@ -4,6 +4,7 @@ import com.asyncapi.v3._0_0.model.channel.Channel; import com.asyncapi.v3._0_0.model.component.Components; import com.asyncapi.v3._0_0.model.info.Info; +import com.asyncapi.v3._0_0.model.operation.Operation; import com.asyncapi.v3._0_0.model.server.Server; import lombok.*; import org.jetbrains.annotations.NotNull; @@ -96,7 +97,7 @@ public class AsyncAPI extends ExtendableObject { */ @Nullable @Builder.Default - private Map operations = new HashMap<>(); + private Map operations = new HashMap<>(); /** * An element to hold various schemas for the specification. diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java new file mode 100644 index 00000000..71e08da5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java @@ -0,0 +1,167 @@ +package com.asyncapi.v3._0_0.model.operation; + +import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.ExternalDocumentationDeserializer; +import com.asyncapi.v3._0_0.jackson.model.TagsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.operation.OperationTraitsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.operation.reply.OperationReplyDeserializer; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply; +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.asyncapi.v3.jackson.binding.operation.OperationBindingsDeserializer; +import com.asyncapi.v3.jackson.security_scheme.SecuritySchemesDeserializer; +import com.asyncapi.v3.security_scheme.SecurityScheme; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; +import java.util.Map; + +/** + * Describes a specific operation. + * + * @version 3.0.0 + * @see Operation + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Operation extends ExtendableObject { + + /** + * Required. + *

                            + * Use send when it's expected that the application will send a message to the given channel, and receive when + * the application should expect receiving messages from the given channel. + */ + @NotNull + private OperationAction action; + + /** + * Required. + *

                            + * A $ref pointer to the definition of the channel in which this operation is performed. + * Please note the channel property value MUST be a Reference Object and, therefore, MUST NOT contain a Channel Object. + * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. + */ + @NotNull + private Reference channel; + + /** + * A human-friendly title for the operation. + */ + @Nullable + private String title; + + /** + * A short summary of what the operation is about. + */ + @Nullable + private String summary; + + /** + * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. + */ + @Nullable + private String description; + + /** + * A declaration of which security schemes are associated with this operation. + * Only one of the security scheme objects MUST be satisfied to authorize an operation. + * In cases where Server Security also applies, it MUST also be satisfied. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link SecurityScheme}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = SecuritySchemesDeserializer.class) + private List security; + + /** + * A list of tags for logical grouping and categorization of operations. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = TagsDeserializer.class) + private List tags; + + /** + * Additional external documentation for this channel. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ExternalDocumentationDeserializer.class) + private Object externalDocs; + + /** + * A map where the keys describe the name of the protocol and the values describe protocol-specific definitions for the operation. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = OperationBindingsDeserializer.class) + private Map bindings; + + /** + * A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. + * The resulting object MUST be a valid Operation Object. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationTrait}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = OperationTraitsDeserializer.class) + private List traits; + + /** + * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. + * It MUST contain a subset of the messages defined in the channel referenced in this operation. + * Every message processed by this operation MUST be valid against one, and only one, of the message objects + * referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, + * therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) + * dereference this property for a better development experience. + */ + @Nullable + private List messages; + + /** + * The definition of the reply in a request-reply operation. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationReply}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = OperationReplyDeserializer.class) + private Object reply; + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java new file mode 100644 index 00000000..17bd85b7 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java @@ -0,0 +1,13 @@ +package com.asyncapi.v3._0_0.model.operation; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public enum OperationAction { + + @JsonProperty("send") + SEND, + + @JsonProperty("receive") + RECEIVE + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt new file mode 100644 index 00000000..09d088c8 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt @@ -0,0 +1,148 @@ +package com.asyncapi.v3._0_0.model.operation + +import com.asyncapi.v3.binding.operation.amqp.AMQPOperationBindingTest +import com.asyncapi.v3.binding.operation.http.HTTPOperationBindingTest +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBindingTest +import com.asyncapi.v3.binding.operation.mqtt.MQTTOperationBindingTest +import com.asyncapi.v3.binding.operation.nats.NATSOperationBindingTest +import com.asyncapi.v3.binding.operation.solace.SolaceOperationBindingTest +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyTest +import com.asyncapi.v3.security_scheme.ApiKeySecuritySchemeTest + +/** + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +class OperationTest: SerDeTest() { + + override fun objectClass() = Operation::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/operation.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/operation - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/operation - wrongly extended.json" + + override fun build(): Operation { + return Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/components/channels/channel")) + .title("Send message operation") + .summary("Send message") + .description("Send message to remote server") + .security(listOf( + ApiKeySecuritySchemeTest().build(), + Reference("#/components/security/plain") + )) + .tags(listOf( + Tag("messages", "operations with messages", ExternalDocumentation( + "Messages validation rules", "messages/validation-rules" + )), + Reference("#/components/tags/tag") + )) + .externalDocs(ExternalDocumentation("Messages validation rules", "messages/validation-rules")) + .bindings(mapOf( + Pair("amqp", AMQPOperationBindingTest().build()), + Pair("amqp1", Reference("#/components/operationBindings/amqp1")), + Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), + Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), + Pair("http", HTTPOperationBindingTest().build()), + Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), + Pair("jms", Reference("#/components/operationBindings/jms")), + Pair("kafka", KafkaOperationBindingTest().build()), + Pair("mercure", Reference("#/components/operationBindings/mercure")), + Pair("mqtt", MQTTOperationBindingTest().build()), + Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), + Pair("nats", NATSOperationBindingTest().build()), + Pair("pulsar", Reference("#/components/operationBindings/pulsar")), + Pair("redis", Reference("#/components/operationBindings/redis")), + Pair("sns", Reference("#/components/operationBindings/sns")), + Pair("solace", SolaceOperationBindingTest().build()), + Pair("sqs", Reference("#/components/operationBindings/sqs")), + Pair("stomp", Reference("#/components/operationBindings/stomp")), + Pair("ws", Reference("#/components/operationBindings/ws")) + )) + .traits(listOf( + OperationTraitTest().build(), + OperationTraitTestWithReference().build(), + Reference("#/components/operations/trait") + )) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .reply(OperationReplyTest().build()) + .build() + } + +} + +class OperationTestWithReference: SerDeTest() { + + override fun objectClass() = Operation::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/operation/operation with reference.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/operation/operation with reference - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json" + + override fun build(): Operation { + return Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/components/channels/channel")) + .title("Send message operation") + .summary("Send message") + .description("Send message to remote server") + .security(listOf( + ApiKeySecuritySchemeTest().build(), + Reference("#/components/security/plain") + )) + .tags(listOf( + Tag("messages", "operations with messages", ExternalDocumentation( + "Messages validation rules", "messages/validation-rules" + )), + Reference("#/components/tags/tag") + )) + .externalDocs(Reference("#/components/externalDocs/external-doc")) + .bindings(mapOf( + Pair("amqp", AMQPOperationBindingTest().build()), + Pair("amqp1", Reference("#/components/operationBindings/amqp1")), + Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), + Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), + Pair("http", HTTPOperationBindingTest().build()), + Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), + Pair("jms", Reference("#/components/operationBindings/jms")), + Pair("kafka", KafkaOperationBindingTest().build()), + Pair("mercure", Reference("#/components/operationBindings/mercure")), + Pair("mqtt", MQTTOperationBindingTest().build()), + Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), + Pair("nats", NATSOperationBindingTest().build()), + Pair("pulsar", Reference("#/components/operationBindings/pulsar")), + Pair("redis", Reference("#/components/operationBindings/redis")), + Pair("sns", Reference("#/components/operationBindings/sns")), + Pair("solace", SolaceOperationBindingTest().build()), + Pair("sqs", Reference("#/components/operationBindings/sqs")), + Pair("stomp", Reference("#/components/operationBindings/stomp")), + Pair("ws", Reference("#/components/operationBindings/ws")) + )) + .traits(listOf( + OperationTraitTest().build(), + OperationTraitTestWithReference().build(), + Reference("#/components/operations/trait") + )) + .messages(listOf( + Reference("#/components/messages/message 1"), + Reference("#/components/messages/message 2"), + Reference("#/components/messages/message 3"), + )) + .reply(Reference("#/components/replies/reply")) + .build() + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json new file mode 100644 index 00000000..9e457c60 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json @@ -0,0 +1,1007 @@ +{ + "action" : "send", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json new file mode 100644 index 00000000..533f605c --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json @@ -0,0 +1,580 @@ +{ + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json new file mode 100644 index 00000000..ea23f270 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json @@ -0,0 +1,993 @@ +{ + "action" : "receive", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json new file mode 100644 index 00000000..20e049dc --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json @@ -0,0 +1,562 @@ +{ + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json new file mode 100644 index 00000000..f6bfb55d --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json @@ -0,0 +1,556 @@ +{ + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json new file mode 100644 index 00000000..5e32db03 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json @@ -0,0 +1,574 @@ +{ + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } +} \ No newline at end of file From 1362ab5ba6be850710d03f99a89db3cdf0663463 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 5 Oct 2023 01:38:13 +0400 Subject: [PATCH 125/210] feat(3.0.0): Components --- .../ComponentsChannelsDeserializer.java | 19 + .../ComponentsCorrelationIdsDeserializer.java | 19 + .../ComponentsExternalDocsDeserializer.java | 19 + .../ComponentsMessageTraitsDeserializer.java | 19 + .../ComponentsMessagesDeserializer.java | 19 + ...ComponentsOperationTraitsDeserializer.java | 19 + .../ComponentsOperationsDeserializer.java | 19 + .../ComponentsParametersDeserializer.java | 19 + .../ComponentsRepliesDeserializer.java | 19 + .../ComponentsReplyAddressesDeserializer.java | 19 + .../ComponentsSchemasDeserializer.java | 95 + ...ComponentsSecuritySchemesDeserializer.java | 19 + ...ComponentsServerVariablesDeserializer.java | 19 + .../ComponentsServersDeserializer.java | 19 + .../component/ComponentsTagsDeserializer.java | 19 + .../v3/_0_0/model/component/Components.java | 291 +- .../_0_0/model/channel/message/MessageTest.kt | 48 +- .../v3/_0_0/model/component/ComponentsTest.kt | 164 + .../v3/_0_0/model/operation/OperationTest.kt | 48 +- .../components/components - extended.json | 21126 ++++++++++++++++ .../components - wrongly extended.json | 8582 +++++++ .../v3/3.0.0/model/components/components.json | 8576 +++++++ 22 files changed, 39153 insertions(+), 43 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsChannelsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsExternalDocsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsParametersDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsRepliesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsReplyAddressesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServerVariablesDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServersDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsTagsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/component/ComponentsTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsChannelsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsChannelsDeserializer.java new file mode 100644 index 00000000..3a233979 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsChannelsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.Channel; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsChannelsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Channel.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java new file mode 100644 index 00000000..3ca82f14 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsCorrelationIdsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsCorrelationIdsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return CorrelationId.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsExternalDocsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsExternalDocsDeserializer.java new file mode 100644 index 00000000..238f3197 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsExternalDocsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsExternalDocsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return ExternalDocumentation.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java new file mode 100644 index 00000000..766c33c1 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessageTraitsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsMessageTraitsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return MessageTrait.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java new file mode 100644 index 00000000..26c6c2e6 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsMessagesDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.message.Message; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsMessagesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Message.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java new file mode 100644 index 00000000..23e65e59 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationTraitsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.OperationTrait; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsOperationTraitsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return OperationTrait.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationsDeserializer.java new file mode 100644 index 00000000..d78264e2 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsOperationsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.Operation; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsOperationsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Operation.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsParametersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsParametersDeserializer.java new file mode 100644 index 00000000..b35829d3 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsParametersDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.Parameter; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsParametersDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Parameter.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsRepliesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsRepliesDeserializer.java new file mode 100644 index 00000000..97f5e213 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsRepliesDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsRepliesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return OperationReply.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsReplyAddressesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsReplyAddressesDeserializer.java new file mode 100644 index 00000000..369f9154 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsReplyAddressesDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyAddress; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsReplyAddressesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return OperationReplyAddress.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java new file mode 100644 index 00000000..713d49b5 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSchemasDeserializer.java @@ -0,0 +1,95 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.schema.MultiFormatSchema; +import com.asyncapi.v3.schema.Schema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import org.jetbrains.annotations.NotNull; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class ComponentsSchemasDeserializer extends JsonDeserializer { + + public Class objectTypeClass() { + return Schema.class; + } + + public Class referenceClass() { + return Reference.class; + } + + @Override + public Map deserialize(JsonParser jsonParser, + DeserializationContext deserializationContext + ) throws IOException, JsonProcessingException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode map = objectCodec.readTree(jsonParser); + + Map parameters = new HashMap<>(); + + map.fieldNames().forEachRemaining( + fieldName -> { + /* + Problem: + Both, Reference class and Schema class have $ref field. + So, this is only reason why I receive next exception: + "com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: + Unrecognized field "title" (class com.asyncapi.v2._6_0.model.Reference), + not marked as ignorable (one known property: "$ref"])" + in case when Schema contains $ref. + Solution: + Try to deserialize reference. In case of exception, try to deserialize it as given ObjectType. In case of + one more exception, throw it. + TODO: Think how to improve. + */ + try { + parameters.put(fieldName, chooseKnownPojo(map.get(fieldName), objectCodec)); + } catch (IOException ignore) { + try { + parameters.put(fieldName, readAsObject(map.get(fieldName), objectCodec)); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + ); + + return parameters; + } + + private Object chooseKnownPojo(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + JsonNode ref = jsonNode.get("$ref"); + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + if (isMultiFormatSchema(jsonNode)) { + return jsonParser.readValueAs(MultiFormatSchema.class); + } + + if (ref != null) { + return jsonParser.readValueAs(referenceClass()); + } else { + return jsonParser.readValueAs(objectTypeClass()); + } + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(objectTypeClass()); + } + } + + private boolean isMultiFormatSchema(@NotNull JsonNode jsonNode) { + JsonNode schemaFormat = jsonNode.get("schemaFormat"); + JsonNode schema = jsonNode.get("schema"); + + return (schemaFormat != null) && (schema != null); + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java new file mode 100644 index 00000000..57f0dbbd --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsSecuritySchemesDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; +import com.asyncapi.v3.security_scheme.SecurityScheme; + +public class ComponentsSecuritySchemesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return SecurityScheme.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServerVariablesDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServerVariablesDeserializer.java new file mode 100644 index 00000000..2836d0df --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServerVariablesDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.server.ServerVariable; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsServerVariablesDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return ServerVariable.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServersDeserializer.java new file mode 100644 index 00000000..64e77bfd --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsServersDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.server.Server; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsServersDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Server.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsTagsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsTagsDeserializer.java new file mode 100644 index 00000000..ef193b9f --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/component/ComponentsTagsDeserializer.java @@ -0,0 +1,19 @@ +package com.asyncapi.v3._0_0.jackson.model.component; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +public class ComponentsTagsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Tag.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java index 17bd82a8..c53538ac 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java @@ -1,4 +1,293 @@ package com.asyncapi.v3._0_0.model.component; -public class Components { +import com.asyncapi.v3._0_0.jackson.model.component.*; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.ExternalDocumentation; +import com.asyncapi.v3._0_0.model.Tag; +import com.asyncapi.v3._0_0.model.channel.Channel; +import com.asyncapi.v3._0_0.model.channel.Parameter; +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId; +import com.asyncapi.v3._0_0.model.channel.message.Message; +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait; +import com.asyncapi.v3._0_0.model.operation.Operation; +import com.asyncapi.v3._0_0.model.operation.OperationTrait; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply; +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyAddress; +import com.asyncapi.v3._0_0.model.server.Server; +import com.asyncapi.v3._0_0.model.server.ServerVariable; +import com.asyncapi.v3.binding.channel.ChannelBinding; +import com.asyncapi.v3.binding.message.MessageBinding; +import com.asyncapi.v3.binding.operation.OperationBinding; +import com.asyncapi.v3.binding.server.ServerBinding; +import com.asyncapi.v3.jackson.binding.channel.ChannelBindingsDeserializer; +import com.asyncapi.v3.jackson.binding.message.MessageBindingsDeserializer; +import com.asyncapi.v3.jackson.binding.operation.OperationBindingsDeserializer; +import com.asyncapi.v3.jackson.binding.server.ServerBindingsDeserializer; +import com.asyncapi.v3.schema.MultiFormatSchema; +import com.asyncapi.v3.schema.Schema; +import com.asyncapi.v3.security_scheme.SecurityScheme; +import com.asyncapi.v3.ExtendableObject; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import lombok.*; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; + +/** + * Holds a set of reusable objects for different aspects of the AsyncAPI specification. + * All objects defined within the components object will have no effect on the API unless they are explicitly referenced + * from properties outside the components object. + * + * @version 3.0.0 + * @author Pavel Bodiachevskii + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class Components extends ExtendableObject { + + /** + * An object to hold reusable {@link }Schema Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Schema}
                            • + *
                            • {@link MultiFormatSchema}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsSchemasDeserializer.class) + private Map schemas; + + /** + * An object to hold reusable {@link Server} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Server}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsServersDeserializer.class) + private Map servers; + + /** + * An object to hold reusable {@link ServerVariable} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link ServerVariable}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsServerVariablesDeserializer.class) + private Map serverVariables; + + /** + * An object to hold reusable {@link Channel} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Channel}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsChannelsDeserializer.class) + private Map channels; + + /** + * An object to hold reusable {@link Operation} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Operation}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsOperationsDeserializer.class) + private Map operations; + + /** + * An object to hold reusable {@link OperationReply} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link OperationReply}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsRepliesDeserializer.class) + private Map replies; + + /** + * An object to hold reusable {@link OperationReplyAddress} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link OperationReplyAddress}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsReplyAddressesDeserializer.class) + private Map replyAddresses; + + /** + * An object to hold reusable {@link Message} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Message}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsMessagesDeserializer.class) + private Map messages; + + /** + * An object to hold reusable {@link SecurityScheme} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link SecurityScheme}
                            • + *
                            • {@link Reference}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsSecuritySchemesDeserializer.class) + private Map securitySchemes; + + /** + * An object to hold reusable {@link Parameter} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link Parameter}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsParametersDeserializer.class) + private Map parameters; + + /** + * An object to hold reusable {@link CorrelationId} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link CorrelationId}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsCorrelationIdsDeserializer.class) + private Map correlationIds; + + /** + * An object to hold reusable {@link OperationTrait} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationTrait}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsOperationTraitsDeserializer.class) + private Map operationTraits; + + /** + * An object to hold reusable {@link MessageTrait} Objects. + *

                            + * MUST BE: + *

                              + *
                            • {@link Reference}
                            • + *
                            • {@link MessageTrait}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsMessageTraitsDeserializer.class) + private Map messageTraits; + + /** + * An object to hold reusable {@link ServerBinding} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link ServerBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ServerBindingsDeserializer.class) + private Map serverBindings; + + /** + * An object to hold reusable {@link ChannelBinding} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link ChannelBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ChannelBindingsDeserializer.class) + private Map channelBindings; + + /** + * An object to hold reusable {@link OperationBinding} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link OperationBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = OperationBindingsDeserializer.class) + private Map operationBindings; + + /** + * An object to hold reusable {@link MessageBinding} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link MessageBinding}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = MessageBindingsDeserializer.class) + private Map messageBindings; + + /** + * An object to hold reusable {@link ExternalDocumentation} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link ExternalDocumentation}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsExternalDocsDeserializer.class) + private Map externalDocs; + + /** + * An object to hold reusable {@link Tag} Objects. + * MUST BE: + *
                              + *
                            • {@link Reference}
                            • + *
                            • {@link Tag}
                            • + *
                            + */ + @Nullable + @JsonDeserialize(using = ComponentsTagsDeserializer.class) + private Map tags; + } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt index 7617c281..f89217b3 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt @@ -72,27 +72,7 @@ class MessageTestWithSchema: SerDeTest() { Tag("register", null, null), )) .externalDocs(ExternalDocumentation("User sign up rules", "messages/sign-up-rules")) - .bindings(mapOf( - Pair("amqp", AMQPMessageBindingTest().build()), - Pair("amqp1", Reference("#/components/messageBindings/amqp1")), - Pair("anypointmq", AnypointMQMessageBindingTest().build()), - Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), - Pair("http", HTTPMessageBindingTest().build()), - Pair("ibmmq", IBMMQMessageBindingTest().build()), - Pair("jms", Reference("#/components/messageBindings/jms")), - Pair("kafka", KafkaMessageBindingTest().build()), - Pair("mercure", Reference("#/components/messageBindings/mercure")), - Pair("mqtt", MQTTMessageBindingTest().build()), - Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), - Pair("nats", Reference("#/components/messageBindings/nats")), - Pair("pulsar", Reference("#/components/messageBindings/pulsar")), - Pair("redis", Reference("#/components/messageBindings/redis")), - Pair("sns", Reference("#/components/messageBindings/sns")), - Pair("solace", Reference("#/components/messageBindings/solace")), - Pair("sqs", Reference("#/components/messageBindings/sqs")), - Pair("stomp", Reference("#/components/messageBindings/stomp")), - Pair("ws", Reference("#/components/messageBindings/ws")) - )) + .bindings(bindings()) .examples(listOf(MessageExampleTest().build())) .traits(listOf( MessageTraitTestWithSchema().build(), @@ -102,6 +82,32 @@ class MessageTestWithSchema: SerDeTest() { .build() } + companion object { + fun bindings(): Map { + return mapOf( + Pair("amqp", AMQPMessageBindingTest().build()), + Pair("amqp1", Reference("#/components/messageBindings/amqp1")), + Pair("anypointmq", AnypointMQMessageBindingTest().build()), + Pair("googlepubsub", GooglePubSubMessageBindingTest().build()), + Pair("http", HTTPMessageBindingTest().build()), + Pair("ibmmq", IBMMQMessageBindingTest().build()), + Pair("jms", Reference("#/components/messageBindings/jms")), + Pair("kafka", KafkaMessageBindingTest().build()), + Pair("mercure", Reference("#/components/messageBindings/mercure")), + Pair("mqtt", MQTTMessageBindingTest().build()), + Pair("mqtt5", Reference("#/components/messageBindings/mqtt5")), + Pair("nats", Reference("#/components/messageBindings/nats")), + Pair("pulsar", Reference("#/components/messageBindings/pulsar")), + Pair("redis", Reference("#/components/messageBindings/redis")), + Pair("sns", Reference("#/components/messageBindings/sns")), + Pair("solace", Reference("#/components/messageBindings/solace")), + Pair("sqs", Reference("#/components/messageBindings/sqs")), + Pair("stomp", Reference("#/components/messageBindings/stomp")), + Pair("ws", Reference("#/components/messageBindings/ws")) + ) + } + } + } class MessageTestWithReference: SerDeTest() { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/component/ComponentsTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/component/ComponentsTest.kt new file mode 100644 index 00000000..2c42c289 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/component/ComponentsTest.kt @@ -0,0 +1,164 @@ +package com.asyncapi.v3._0_0.model.component + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.ExternalDocumentationTest +import com.asyncapi.v3._0_0.model.TagTest +import com.asyncapi.v3._0_0.model.TagTestWithReferenceToExternalDocs +import com.asyncapi.v3._0_0.model.channel.ChannelTest +import com.asyncapi.v3._0_0.model.channel.ChannelTestWithReference +import com.asyncapi.v3._0_0.model.channel.ParameterTest +import com.asyncapi.v3._0_0.model.channel.message.* +import com.asyncapi.v3._0_0.model.operation.OperationTest +import com.asyncapi.v3._0_0.model.operation.OperationTestWithReference +import com.asyncapi.v3._0_0.model.operation.OperationTraitTest +import com.asyncapi.v3._0_0.model.operation.OperationTraitTestWithReference +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyAddressTest +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyTest +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyTestWithReference +import com.asyncapi.v3._0_0.model.server.ServerTest +import com.asyncapi.v3._0_0.model.server.ServerVariableTest +import com.asyncapi.v3.schema.MultiFormatSchema +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.schema.Type +import com.asyncapi.v3.security_scheme.ApiKeySecuritySchemeTest +import com.asyncapi.v3.security_scheme.OpenIdConnectSecuritySchemeTest +import com.asyncapi.v3.security_scheme.http.HttpApiKeySecuritySchemeTest +import com.asyncapi.v3.security_scheme.http.HttpSecuritySchemeBasicTest +import com.asyncapi.v3.security_scheme.http.HttpSecuritySchemeBearerTest +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecuritySchemeTest + +/** + * @version 3.0-.0 + * @author Pavel Bodiachevskii + */ +class ComponentsTest: SerDeTest() { + + override fun objectClass() = Components::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/components/components.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/components/components - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/components/components - wrongly extended.json" + + override fun build(): Components { + /* + oauth2 // scopes + openIdConnect // scopes + */ + return Components.builder() + .schemas(mapOf( + Pair("Category", Schema.builder() + .type(Type.OBJECT) + .properties(mapOf( + Pair("id", Schema.builder().type(Type.INTEGER).format("int64").build()), + Pair("name", Schema.builder().type(Type.STRING).build()) + )) + .build() + ), + Pair( + "Tag", + MultiFormatSchema.builder() + .schemaFormat("application/json") + .schema(mapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair("id", mapOf( + Pair("type", "integer"), + Pair("format", "int64") + )), + Pair("name", mapOf( + Pair("type", "string") + )) + )) + )) + .build() + ), + Pair("User", Reference("#/components/schemas/user")) + )) + .servers(mapOf( + Pair("mqtt-test", ServerTest().build()), + Pair("mqtt-stage", Reference("#/components/servers/mqtt-stage")) + )) + .serverVariables(mapOf( + Pair("port", ServerVariableTest().build()), + Pair("basePath", Reference("#/components/serverVariables/basePath")) + )) + .channels(mapOf( + Pair("channel 1", ChannelTest().build()), + Pair("channel 2", ChannelTestWithReference().build()), + Pair("channel 3", Reference("#/components/channels/channel")), + )) + .operations(mapOf( + Pair("operation 1", OperationTest().build()), + Pair("operation 2", OperationTestWithReference().build()), + Pair("operation 3", Reference("#/components/operations/operation")) + )) + .replies(mapOf( + Pair("reply 1", OperationReplyTest().build()), + Pair("reply 2", OperationReplyTestWithReference().build()), + Pair("reply 3", Reference("#/components/replies/reply")) + )) + .replyAddresses(mapOf( + Pair("reply addresses 1", OperationReplyAddressTest().build()), + Pair("reply addresses 2", Reference("#/components/replyAddresses/replyAddress")) + )) + .messages(mapOf( + Pair("message 1", MessageTestWithSchema().build()), + Pair("message 2", MessageTestWithMultiFormatSchema().build()), + Pair("message 3", MessageTestWithReference().build()), + Pair("message 4", Reference("#/components/messages/message")) + )) + .securitySchemes(mapOf( + Pair("apiKey", ApiKeySecuritySchemeTest().build()), + Pair("asymmetricEncryption", Reference("#/components/securitySchemes/asymmetricEncryption")), + Pair("gssapi", Reference("#/components/securitySchemes/gssapi")), + Pair("oauth2", OAuth2SecuritySchemeTest().build()), + Pair("openIdConnect", OpenIdConnectSecuritySchemeTest().build()), + Pair("httpApiKey", HttpApiKeySecuritySchemeTest().build()), + Pair("httpBasic", HttpSecuritySchemeBasicTest().build()), + Pair("httpBearer", HttpSecuritySchemeBearerTest().build()), + Pair("plain", Reference("#/components/securitySchemes/plain")), + Pair("scramSha256", Reference("#/components/securitySchemes/scramSha256")), + Pair("scramSha512", Reference("#/components/securitySchemes/scramSha512")), + Pair("symmetricEncryption", Reference("#/components/securitySchemes/symmetricEncryption")), + Pair("userPassword", Reference("#/components/securitySchemes/userPassword")), + Pair("X509", Reference("#/components/securitySchemes/X509")), + )) + .parameters(mapOf( + Pair("parameter 1", ParameterTest().build()), + Pair("parameter 2", Reference("#/components/parameters/parameter")) + )) + .correlationIds(mapOf( + Pair("correlationId 1", CorrelationIdTest().build()), + Pair("correlationId 2", Reference("#/correlationIds/parameters/correlationId")) + )) + .operationTraits(mapOf( + Pair("operationTrait 1", OperationTraitTest().build()), + Pair("operationTrait 2", OperationTraitTestWithReference().build()), + Pair("operationTrait 3", Reference("#/components/operationTraits/operationTrait")) + )) + .messageTraits(mapOf( + Pair("messageTrait 1", MessageTraitTestWithSchema().build()), + Pair("messageTrait 2", MessageTraitTestWithMultiFormatSchema().build()), + Pair("messageTrait 3", MessageTraitTestWithReference().build()), + Pair("messageTrait 4", Reference("#/components/messageTraits/messageTrait")) + )) + .serverBindings(ServerTest.bindings()) + .channelBindings(ChannelTest.bindings()) + .operationBindings(OperationTest.bindings()) + .messageBindings(MessageTestWithSchema.bindings()) + .externalDocs(mapOf( + Pair("externalDoc 1", ExternalDocumentationTest().build()), + Pair("externalDoc 2", Reference("#/components/externalDocs/externalDoc")), + )) + .tags(mapOf( + Pair("tag 1", TagTest().build()), + Pair("tag 2", TagTestWithReferenceToExternalDocs().build()), + Pair("tag 3", Reference("#/components/tags/tag")), + )) + .build() + } + +} diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt index 09d088c8..295ef12b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTest.kt @@ -45,27 +45,7 @@ class OperationTest: SerDeTest() { Reference("#/components/tags/tag") )) .externalDocs(ExternalDocumentation("Messages validation rules", "messages/validation-rules")) - .bindings(mapOf( - Pair("amqp", AMQPOperationBindingTest().build()), - Pair("amqp1", Reference("#/components/operationBindings/amqp1")), - Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), - Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), - Pair("http", HTTPOperationBindingTest().build()), - Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), - Pair("jms", Reference("#/components/operationBindings/jms")), - Pair("kafka", KafkaOperationBindingTest().build()), - Pair("mercure", Reference("#/components/operationBindings/mercure")), - Pair("mqtt", MQTTOperationBindingTest().build()), - Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), - Pair("nats", NATSOperationBindingTest().build()), - Pair("pulsar", Reference("#/components/operationBindings/pulsar")), - Pair("redis", Reference("#/components/operationBindings/redis")), - Pair("sns", Reference("#/components/operationBindings/sns")), - Pair("solace", SolaceOperationBindingTest().build()), - Pair("sqs", Reference("#/components/operationBindings/sqs")), - Pair("stomp", Reference("#/components/operationBindings/stomp")), - Pair("ws", Reference("#/components/operationBindings/ws")) - )) + .bindings(bindings()) .traits(listOf( OperationTraitTest().build(), OperationTraitTestWithReference().build(), @@ -80,6 +60,32 @@ class OperationTest: SerDeTest() { .build() } + companion object { + fun bindings(): Map { + return mapOf( + Pair("amqp", AMQPOperationBindingTest().build()), + Pair("amqp1", Reference("#/components/operationBindings/amqp1")), + Pair("anypointmq", Reference("#/components/operationBindings/anypointmq")), + Pair("googlepubsub", Reference("#/components/operationBindings/googlepubsub")), + Pair("http", HTTPOperationBindingTest().build()), + Pair("ibmmq", Reference("#/components/operationBindings/ibmmq")), + Pair("jms", Reference("#/components/operationBindings/jms")), + Pair("kafka", KafkaOperationBindingTest().build()), + Pair("mercure", Reference("#/components/operationBindings/mercure")), + Pair("mqtt", MQTTOperationBindingTest().build()), + Pair("mqtt5", Reference("#/components/operationBindings/mqtt5")), + Pair("nats", NATSOperationBindingTest().build()), + Pair("pulsar", Reference("#/components/operationBindings/pulsar")), + Pair("redis", Reference("#/components/operationBindings/redis")), + Pair("sns", Reference("#/components/operationBindings/sns")), + Pair("solace", SolaceOperationBindingTest().build()), + Pair("sqs", Reference("#/components/operationBindings/sqs")), + Pair("stomp", Reference("#/components/operationBindings/stomp")), + Pair("ws", Reference("#/components/operationBindings/ws")) + ) + } + } + } class OperationTestWithReference: SerDeTest() { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json new file mode 100644 index 00000000..7506f77a --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json @@ -0,0 +1,21126 @@ +{ + "schemas" : { + "Category" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "id" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "integer", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : "int64", + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "name" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "Tag" : { + "schemaFormat" : "application/json", + "schema" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "integer", + "format" : "int64" + }, + "name" : { + "type" : "string" + } + } + } + }, + "User" : { + "$ref" : "#/components/schemas/user" + } + }, + "servers" : { + "mqtt-test" : { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage" : { + "$ref" : "#/components/servers/mqtt-stage" + } + }, + "serverVariables" : { + "port" : { + "description" : "To which port connect", + "examples" : [ "8883", "8884" ], + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "channels" : { + "channel 1" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3" : { + "$ref" : "#/components/channels/channel" + } + }, + "operations" : { + "operation 1" : { + "action" : "send", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, + "operation 2" : { + "action" : "receive", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, + "operation 3" : { + "$ref" : "#/components/operations/operation" + } + }, + "replies" : { + "reply 1" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "reply 2" : { + "address" : { + "$ref" : "#/components/addresses/address" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "reply 3" : { + "$ref" : "#/components/replies/reply" + } + }, + "replyAddresses" : { + "reply addresses 1" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "reply addresses 2" : { + "$ref" : "#/components/replyAddresses/replyAddress" + } + }, + "messages" : { + "message 1" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message 3" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message 4" : { + "$ref" : "#/components/messages/message" + } + }, + "securitySchemes" : { + "apiKey" : { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, + "asymmetricEncryption" : { + "$ref" : "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi" : { + "$ref" : "#/components/securitySchemes/gssapi" + }, + "oauth2" : { + "type" : "oauth2", + "description" : "oauth2", + "flows" : { + "implicit" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog" + }, + "password" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "clientCredentials" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "authorizationCode" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "tokenUrl" : "https://example.com/api/oauth/token" + } + }, + "scopes" : [ "write:pets", "read:pets" ] + }, + "openIdConnect" : { + "type" : "openIdConnect", + "description" : "openIdConnect", + "openIdConnectUrl" : "https://server.com/.well-known/openid-configuration", + "scopes" : [ "write:pets", "read:pets" ] + }, + "httpApiKey" : { + "type" : "httpApiKey", + "description" : "httpApiKey", + "name" : "api_key", + "in" : "header" + }, + "httpBasic" : { + "type" : "http", + "description" : "http", + "scheme" : "basic", + "bearerFormat" : null + }, + "httpBearer" : { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, + "plain" : { + "$ref" : "#/components/securitySchemes/plain" + }, + "scramSha256" : { + "$ref" : "#/components/securitySchemes/scramSha256" + }, + "scramSha512" : { + "$ref" : "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption" : { + "$ref" : "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword" : { + "$ref" : "#/components/securitySchemes/userPassword" + }, + "X509" : { + "$ref" : "#/components/securitySchemes/X509" + } + }, + "parameters" : { + "parameter 1" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "parameter 2" : { + "$ref" : "#/components/parameters/parameter" + } + }, + "correlationIds" : { + "correlationId 1" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "correlationId 2" : { + "$ref" : "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits" : { + "operationTrait 1" : { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, + "operationTrait 2" : { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, + "operationTrait 3" : { + "$ref" : "#/components/operationTraits/operationTrait" + } + }, + "messageTraits" : { + "messageTrait 1" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "messageTrait 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "messageTrait 3" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "messageTrait 4" : { + "$ref" : "#/components/messageTraits/messageTrait" + } + }, + "serverBindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + }, + "channelBindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "operationBindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messageBindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "externalDocs" : { + "externalDoc 1" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "externalDoc 2" : { + "$ref" : "#/components/externalDocs/externalDoc" + } + }, + "tags" : { + "tag 1" : { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2" : { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "tag 3" : { + "$ref" : "#/components/tags/tag" + } + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json new file mode 100644 index 00000000..3ed77cdd --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json @@ -0,0 +1,8582 @@ +{ + "schemas": { + "Category": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + }, + "Tag": { + "schemaFormat": "application/json", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + } + }, + "User": { + "$ref": "#/components/schemas/user" + } + }, + "servers": { + "mqtt-test": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage": { + "$ref": "#/components/servers/mqtt-stage" + } + }, + "serverVariables": { + "port": { + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ] + }, + "basePath": { + "$ref": "#/components/serverVariables/basePath" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "replies": { + "reply 1": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 2": { + "address": { + "$ref": "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 3": { + "$ref": "#/components/replies/reply" + } + }, + "replyAddresses": { + "reply addresses 1": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "reply addresses 2": { + "$ref": "#/components/replyAddresses/replyAddress" + } + }, + "messages": { + "message 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 4": { + "$ref": "#/components/messages/message" + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + "asymmetricEncryption": { + "$ref": "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi": { + "$ref": "#/components/securitySchemes/gssapi" + }, + "oauth2": { + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ] + }, + "openIdConnect": { + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ] + }, + "httpApiKey": { + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" + }, + "httpBasic": { + "type": "http", + "description": "http", + "scheme": "basic" + }, + "httpBearer": { + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "plain": { + "$ref": "#/components/securitySchemes/plain" + }, + "scramSha256": { + "$ref": "#/components/securitySchemes/scramSha256" + }, + "scramSha512": { + "$ref": "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption": { + "$ref": "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword": { + "$ref": "#/components/securitySchemes/userPassword" + }, + "X509": { + "$ref": "#/components/securitySchemes/X509" + } + }, + "parameters": { + "parameter 1": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "parameter 2": { + "$ref": "#/components/parameters/parameter" + } + }, + "correlationIds": { + "correlationId 1": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "correlationId 2": { + "$ref": "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits": { + "operationTrait 1": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operationTrait 2": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operationTrait 3": { + "$ref": "#/components/operationTraits/operationTrait" + } + }, + "messageTraits": { + "messageTrait 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 4": { + "$ref": "#/components/messageTraits/messageTrait" + } + }, + "serverBindings": { + "amqp": { + "$ref": "#/components/serverBindings/amqp" + }, + "amqp1": {}, + "anypointmq": {}, + "googlepubsub": {}, + "http": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" + }, + "jms": {}, + "kafka": { + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" + }, + "mercure": {}, + "mqtt": { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" + }, + "nats": {}, + "pulsar": { + "tenant": "contoso", + "bindingVersion": "0.1.0" + }, + "redis": {}, + "sns": {}, + "solace": { + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" + }, + "sqs": {}, + "stomp": {}, + "ws": {} + }, + "channelBindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "operationBindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messageBindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "externalDocs": { + "externalDoc 1": { + "description": "Find more info here", + "url": "https://example.com" + }, + "externalDoc 2": { + "$ref": "#/components/externalDocs/externalDoc" + } + }, + "tags": { + "tag 1": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + "tag 3": { + "$ref": "#/components/tags/tag" + } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json new file mode 100644 index 00000000..ddd25dc1 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json @@ -0,0 +1,8576 @@ +{ + "schemas": { + "Category": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + }, + "Tag": { + "schemaFormat": "application/json", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + } + }, + "User": { + "$ref": "#/components/schemas/user" + } + }, + "servers": { + "mqtt-test": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage": { + "$ref": "#/components/servers/mqtt-stage" + } + }, + "serverVariables": { + "port": { + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ] + }, + "basePath": { + "$ref": "#/components/serverVariables/basePath" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "replies": { + "reply 1": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 2": { + "address": { + "$ref": "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 3": { + "$ref": "#/components/replies/reply" + } + }, + "replyAddresses": { + "reply addresses 1": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "reply addresses 2": { + "$ref": "#/components/replyAddresses/replyAddress" + } + }, + "messages": { + "message 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 4": { + "$ref": "#/components/messages/message" + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + "asymmetricEncryption": { + "$ref": "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi": { + "$ref": "#/components/securitySchemes/gssapi" + }, + "oauth2": { + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ] + }, + "openIdConnect": { + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ] + }, + "httpApiKey": { + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" + }, + "httpBasic": { + "type": "http", + "description": "http", + "scheme": "basic" + }, + "httpBearer": { + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "plain": { + "$ref": "#/components/securitySchemes/plain" + }, + "scramSha256": { + "$ref": "#/components/securitySchemes/scramSha256" + }, + "scramSha512": { + "$ref": "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption": { + "$ref": "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword": { + "$ref": "#/components/securitySchemes/userPassword" + }, + "X509": { + "$ref": "#/components/securitySchemes/X509" + } + }, + "parameters": { + "parameter 1": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "parameter 2": { + "$ref": "#/components/parameters/parameter" + } + }, + "correlationIds": { + "correlationId 1": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "correlationId 2": { + "$ref": "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits": { + "operationTrait 1": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operationTrait 2": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operationTrait 3": { + "$ref": "#/components/operationTraits/operationTrait" + } + }, + "messageTraits": { + "messageTrait 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 4": { + "$ref": "#/components/messageTraits/messageTrait" + } + }, + "serverBindings": { + "amqp": { + "$ref": "#/components/serverBindings/amqp" + }, + "amqp1": {}, + "anypointmq": {}, + "googlepubsub": {}, + "http": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" + }, + "jms": {}, + "kafka": { + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" + }, + "mercure": {}, + "mqtt": { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" + }, + "nats": {}, + "pulsar": { + "tenant": "contoso", + "bindingVersion": "0.1.0" + }, + "redis": {}, + "sns": {}, + "solace": { + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" + }, + "sqs": {}, + "stomp": {}, + "ws": {} + }, + "channelBindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "operationBindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messageBindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "externalDocs": { + "externalDoc 1": { + "description": "Find more info here", + "url": "https://example.com" + }, + "externalDoc 2": { + "$ref": "#/components/externalDocs/externalDoc" + } + }, + "tags": { + "tag 1": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + "tag 3": { + "$ref": "#/components/tags/tag" + } + } +} \ No newline at end of file From 29ecb1932fbfbcb735ff1d67b78561c5ec499075 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 5 Oct 2023 02:23:15 +0400 Subject: [PATCH 126/210] feat(3.0.0): AsyncAPI test --- .../model/channel/ChannelsDeserializer.java | 24 + .../operation/OperationsDeserializer.java | 24 + .../model/server/ServersDeserializer.java | 24 + .../com/asyncapi/v3/_0_0/model/AsyncAPI.java | 33 +- .../asyncapi/v3/_0_0/model/AsyncAPITest.kt | 52 + .../v3/3.0.0/model/asyncapi - extended.json | 34127 ++++++++++++++++ .../model/asyncapi - wrongly extended.json | 13973 +++++++ .../json/v3/3.0.0/model/asyncapi.json | 13967 +++++++ 8 files changed, 62221 insertions(+), 3 deletions(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationsDeserializer.java create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServersDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/AsyncAPITest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelsDeserializer.java new file mode 100644 index 00000000..c5cc3c01 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/channel/ChannelsDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model.channel; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.channel.Channel; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes component channels map. + * + * @author Pavel Bodiachevskii + */ +public class ChannelsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Channel.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationsDeserializer.java new file mode 100644 index 00000000..12e3b8b8 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/operation/OperationsDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model.operation; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.operation.Operation; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes component operations map. + * + * @author Pavel Bodiachevskii + */ +public class OperationsDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Operation.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServersDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServersDeserializer.java new file mode 100644 index 00000000..9639ed77 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/jackson/model/server/ServersDeserializer.java @@ -0,0 +1,24 @@ +package com.asyncapi.v3._0_0.jackson.model.server; + +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.model.server.Server; +import com.asyncapi.v3.jackson.MapOfReferencesOrObjectsDeserializer; + +/** + * Serializes component servers map. + * + * @author Pavel Bodiachevskii + */ +public class ServersDeserializer extends MapOfReferencesOrObjectsDeserializer { + + @Override + public Class objectTypeClass() { + return Server.class; + } + + @Override + public Class referenceClass() { + return Reference.class; + } + +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java index fbb1fd1e..fdb84f26 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java @@ -1,11 +1,16 @@ package com.asyncapi.v3._0_0.model; import com.asyncapi.v3.ExtendableObject; +import com.asyncapi.v3.Reference; +import com.asyncapi.v3._0_0.jackson.model.channel.ChannelsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.operation.OperationsDeserializer; +import com.asyncapi.v3._0_0.jackson.model.server.ServersDeserializer; import com.asyncapi.v3._0_0.model.channel.Channel; import com.asyncapi.v3._0_0.model.component.Components; import com.asyncapi.v3._0_0.model.info.Info; import com.asyncapi.v3._0_0.model.operation.Operation; import com.asyncapi.v3._0_0.model.server.Server; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -77,9 +82,17 @@ public class AsyncAPI extends ExtendableObject { /** * Provides connection details of servers. + *

                            + * MUST BE: + *

                              + *
                            • {@link Server}
                            • + *
                            • {@link Reference}
                            • + *
                            */ @Nullable - private Map servers; + @Builder.Default + @JsonDeserialize(using = ServersDeserializer.class) + private Map servers = new HashMap<>(); /** * The available channels and messages for the API. @@ -87,17 +100,31 @@ public class AsyncAPI extends ExtendableObject { * Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers. *

                            * Channels are also known as "topics", "routing keys", "event types" or "paths". + *

                            + * MUST BE: + *

                              + *
                            • {@link Channel}
                            • + *
                            • {@link Reference}
                            • + *
                            */ @Nullable @Builder.Default - private Map channels = new HashMap<>(); + @JsonDeserialize(using = ChannelsDeserializer.class) + private Map channels = new HashMap<>(); /** * The available operations for the API. + *

                            + * MUST BE: + *

                              + *
                            • {@link Operation}
                            • + *
                            • {@link Reference}
                            • + *
                            */ @Nullable @Builder.Default - private Map operations = new HashMap<>(); + @JsonDeserialize(using = OperationsDeserializer.class) + private Map operations = new HashMap<>(); /** * An element to hold various schemas for the specification. diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/AsyncAPITest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/AsyncAPITest.kt new file mode 100644 index 00000000..080fbb0d --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/AsyncAPITest.kt @@ -0,0 +1,52 @@ +package com.asyncapi.v3._0_0.model + +import com.asyncapi.v3.Reference +import com.asyncapi.v3.SerDeTest +import com.asyncapi.v3._0_0.model.channel.ChannelTest +import com.asyncapi.v3._0_0.model.channel.ChannelTestWithReference +import com.asyncapi.v3._0_0.model.component.ComponentsTest +import com.asyncapi.v3._0_0.model.info.InfoTest +import com.asyncapi.v3._0_0.model.operation.OperationTest +import com.asyncapi.v3._0_0.model.operation.OperationTestWithReference +import com.asyncapi.v3._0_0.model.server.ServerTest +import com.asyncapi.v3._0_0.model.server.ServerTestWithReference + +/** + * @author Pavel Bodiachevskii + */ +class AsyncAPITest: SerDeTest() { + + override fun objectClass() = AsyncAPI::class.java + + override fun baseObjectJson() = "/json/v3/3.0.0/model/asyncapi.json" + + override fun extendedObjectJson() = "/json/v3/3.0.0/model/asyncapi - extended.json" + + override fun wronglyExtendedObjectJson() = "/json/v3/3.0.0/model/asyncapi - wrongly extended.json" + + override fun build(): AsyncAPI { + return AsyncAPI( + "3.0.0", + "https://www.asyncapi.com", + "application/json", + InfoTest().build(), + mapOf( + Pair("server 1", ServerTest().build()), + Pair("server 2", ServerTestWithReference().build()), + Pair("server 3", Reference("#/components/servers/server")) + ), + mapOf( + Pair("channel 1", ChannelTest().build()), + Pair("channel 2", ChannelTestWithReference().build()), + Pair("channel 3", Reference("#/components/channels/channel")) + ), + mapOf( + Pair("operation 1", OperationTest().build()), + Pair("operation 2", OperationTestWithReference().build()), + Pair("operation 3", Reference("#/components/operations/operation")) + ), + ComponentsTest().build() + ) + } + +} diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json new file mode 100644 index 00000000..28a553c7 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json @@ -0,0 +1,34127 @@ +{ + "asyncapi" : "3.0.0", + "id" : "https://www.asyncapi.com", + "defaultContentType" : "application/json", + "info" : { + "title" : "AsyncApi sample", + "version" : "2.0", + "description" : "short description", + "termsOfService" : "https://www.asyncapi.com/about/", + "contact" : { + "name" : "AsyncApi", + "url" : "https://www.asyncapi.com", + "email" : "java@asyncapi.com" + }, + "license" : { + "name" : "Apache License 2.0", + "url" : "http://www.apache.org/licenses/" + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "servers" : { + "server 1" : { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 2" : { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 3" : { + "$ref" : "#/components/servers/server" + } + }, + "channels" : { + "channel 1" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3" : { + "$ref" : "#/components/channels/channel" + } + }, + "operations" : { + "operation 1" : { + "action" : "send", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, + "operation 2" : { + "action" : "receive", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, + "operation 3" : { + "$ref" : "#/components/operations/operation" + } + }, + "components" : { + "schemas" : { + "Category" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "id" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "integer", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : "int64", + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "name" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "Tag" : { + "schemaFormat" : "application/json", + "schema" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "integer", + "format" : "int64" + }, + "name" : { + "type" : "string" + } + } + } + }, + "User" : { + "$ref" : "#/components/schemas/user" + } + }, + "servers" : { + "mqtt-test" : { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage" : { + "$ref" : "#/components/servers/mqtt-stage" + } + }, + "serverVariables" : { + "port" : { + "description" : "To which port connect", + "examples" : [ "8883", "8884" ], + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "channels" : { + "channel 1" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2" : { + "address" : "users.{userId}", + "title" : "Users channel", + "summary" : "messages about user events.", + "description" : "This channel is used to exchange messages about users signing up", + "servers" : [ { + "$ref" : "#/components/servers/1" + }, { + "$ref" : "#/components/servers/2" + }, { + "$ref" : "#/components/servers/3" + } ], + "parameters" : { + "userId" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "userStatus" : { + "$ref" : "#/components/parameters/user-status" + } + }, + "messages" : { + "changeStatus" : { + "$ref" : "#/components/parameters/user-status" + }, + "message" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message with reference" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } + }, + "bindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "tags" : [ { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, { + "$ref" : "#/components/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3" : { + "$ref" : "#/components/channels/channel" + } + }, + "operations" : { + "operation 1" : { + "action" : "send", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, + "operation 2" : { + "action" : "receive", + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "traits" : [ { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, { + "$ref" : "#/components/operations/trait" + } ], + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, + "operation 3" : { + "$ref" : "#/components/operations/operation" + } + }, + "replies" : { + "reply 1" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "reply 2" : { + "address" : { + "$ref" : "#/components/addresses/address" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + }, + "reply 3" : { + "$ref" : "#/components/replies/reply" + } + }, + "replyAddresses" : { + "reply addresses 1" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "reply addresses 2" : { + "$ref" : "#/components/replyAddresses/replyAddress" + } + }, + "messages" : { + "message 1" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "payload" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "metric" : { + "title" : null, + "description" : "Metric set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "message 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "payload" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "metric" : { + "description" : "Metric set by application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message 3" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "payload" : { + "$ref" : "#/components/messages/message-payload" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "traits" : [ { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "message 4" : { + "$ref" : "#/components/messages/message" + } + }, + "securitySchemes" : { + "apiKey" : { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, + "asymmetricEncryption" : { + "$ref" : "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi" : { + "$ref" : "#/components/securitySchemes/gssapi" + }, + "oauth2" : { + "type" : "oauth2", + "description" : "oauth2", + "flows" : { + "implicit" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog" + }, + "password" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "clientCredentials" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "tokenUrl" : "https://example.com/api/oauth/token" + }, + "authorizationCode" : { + "refreshUrl" : "https://example.com/api/oauth/refresh", + "scopes" : { + "write:pets" : "modify pets in your account", + "read:pets" : "read your pets" + }, + "authorizationUrl" : "https://example.com/api/oauth/dialog", + "tokenUrl" : "https://example.com/api/oauth/token" + } + }, + "scopes" : [ "write:pets", "read:pets" ] + }, + "openIdConnect" : { + "type" : "openIdConnect", + "description" : "openIdConnect", + "openIdConnectUrl" : "https://server.com/.well-known/openid-configuration", + "scopes" : [ "write:pets", "read:pets" ] + }, + "httpApiKey" : { + "type" : "httpApiKey", + "description" : "httpApiKey", + "name" : "api_key", + "in" : "header" + }, + "httpBasic" : { + "type" : "http", + "description" : "http", + "scheme" : "basic", + "bearerFormat" : null + }, + "httpBearer" : { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, + "plain" : { + "$ref" : "#/components/securitySchemes/plain" + }, + "scramSha256" : { + "$ref" : "#/components/securitySchemes/scramSha256" + }, + "scramSha512" : { + "$ref" : "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption" : { + "$ref" : "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword" : { + "$ref" : "#/components/securitySchemes/userPassword" + }, + "X509" : { + "$ref" : "#/components/securitySchemes/X509" + } + }, + "parameters" : { + "parameter 1" : { + "description" : "Id of the user.", + "examples" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ], + "location" : "$message.payload#/user/id", + "default" : "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum" : [ "0e822ca6-5311-4d4c-b409-993a1820e689", "381f5ddc-75c6-4c21-9ec1-3919ed345be9", "70559d88-31a5-4ef2-8c34-7fbd04057ed5", "c6dc0047-a90d-4efa-95e3-a272282934e0" ] + }, + "parameter 2" : { + "$ref" : "#/components/parameters/parameter" + } + }, + "correlationIds" : { + "correlationId 1" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "correlationId 2" : { + "$ref" : "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits" : { + "operationTrait 1" : { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "address" : { + "description" : "Consumer inbox", + "location" : "$message.header#/replyTo" + }, + "channel" : { + "$ref" : "#/components/channels/channel" + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ] + } + }, + "operationTrait 2" : { + "title" : "Send message operation", + "summary" : "Send message", + "description" : "Send message to remote server", + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "$ref" : "#/components/security/plain" + } ], + "tags" : [ { + "name" : "messages", + "description" : "operations with messages", + "externalDocs" : { + "description" : "Messages validation rules", + "url" : "messages/validation-rules" + } + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + }, + "bindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messages" : [ { + "$ref" : "#/components/messages/message 1" + }, { + "$ref" : "#/components/messages/message 2" + }, { + "$ref" : "#/components/messages/message 3" + } ], + "reply" : { + "$ref" : "#/components/replies/reply" + } + }, + "operationTrait 3" : { + "$ref" : "#/components/operationTraits/operationTrait" + } + }, + "messageTraits" : { + "messageTrait 1" : { + "messageId" : "userSignup", + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "applicationInstanceId" : { + "title" : null, + "description" : "Unique identifier for a given instance of the publishing application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "correlationId" : { + "description" : "Default Correlation ID", + "location" : "$message.header#/correlationId" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "User sign up rules", + "url" : "messages/sign-up-rules" + } + }, + "messageTrait 2" : { + "messageId" : "userSignup", + "headers" : { + "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema" : { + "type" : "object", + "properties" : { + "correlationId" : { + "description" : "Correlation ID set by application", + "type" : "string" + }, + "applicationInstanceId" : { + "description" : "Unique identifier for a given instance of the publishing application", + "type" : "string" + } + } + } + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "messageTrait 3" : { + "messageId" : "userSignup", + "headers" : { + "$ref" : "#/components/messages/message-header" + }, + "correlationId" : { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType" : "application/json", + "name" : "UserSignup", + "title" : "User signup", + "summary" : "Action to sign a user up.", + "description" : "A longer description", + "bindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "examples" : [ { + "headers" : { + "correlationId" : "my-correlation-id", + "applicationInstanceId" : "myInstanceId" + }, + "payload" : { + "user" : { + "someUserKey" : "someUserValue" + }, + "signup" : { + "someSignupKey" : "someSignupValue" + } + }, + "name" : "SimpleSignup", + "summary" : "A simple UserSignup example message" + } ], + "tags" : [ { + "name" : "user", + "description" : null, + "externalDocs" : null + }, { + "name" : "signup", + "description" : null, + "externalDocs" : null + }, { + "name" : "register", + "description" : null, + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag" + } ], + "externalDocs" : { + "$ref" : "#/components/externalDocs/external-doc" + } + }, + "messageTrait 4" : { + "$ref" : "#/components/messageTraits/messageTrait" + } + }, + "serverBindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + }, + "channelBindings" : { + "amqp" : { + "is" : "routingKey", + "exchange" : { + "name" : "myExchange", + "type" : "topic", + "durable" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "queue" : { + "name" : "my-queue-name", + "durable" : true, + "exclusive" : true, + "autoDelete" : false, + "vhost" : "/" + }, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/channelBindings/amqp1" + }, + "anypointmq" : { + "destination" : "user-signup-exchg", + "destinationType" : "exchange", + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "topic" : "projects/your-project/topics/topic-proto-schema", + "labels" : null, + "messageRetentionDuration" : "86400s", + "messageStoragePolicy" : { + "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] + }, + "schemaSettings" : { + "encoding" : "binary", + "firstRevisionId" : null, + "lastRevisionId" : null, + "name" : "projects/your-project/schemas/message-proto" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "$ref" : "#/components/channelBindings/http" + }, + "ibmmq" : { + "destinationType" : "topic", + "queue" : { + "objectName" : "message", + "isPartitioned" : false, + "exclusive" : true + }, + "topic" : { + "string" : "messages", + "objectName" : "message", + "durablePermitted" : true, + "lastMsgRetained" : true + }, + "maxMsgLength" : 1024, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/channelBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "topic" : "my-specific-topic-name", + "partitions" : 20, + "replicas" : 3, + "topicConfiguration" : { + "cleanup.policy" : [ "delete", "compact" ], + "retention.ms" : 604800000, + "retention.bytes" : 1000000000, + "delete.retention.ms" : 86400000, + "max.message.bytes" : 1048588 + } + }, + "mercure" : { + "$ref" : "#/components/channelBindings/mercure" + }, + "mqtt" : { + "$ref" : "#/components/channelBindings/mqtt" + }, + "mqtt5" : { + "$ref" : "#/components/channelBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/channelBindings/nats" + }, + "pulsar" : { + "namespace" : "staging", + "persistence" : "persistent", + "compaction" : 1000, + "geo-replication" : [ "us-east1", "us-west1" ], + "retention" : { + "time" : 7, + "size" : 1000 + }, + "ttl" : 360, + "deduplication" : false, + "bindingVersion" : "0.1.0" + }, + "redis" : { + "$ref" : "#/components/channelBindings/redis" + }, + "sns" : { + "$ref" : "#/components/channelBindings/sns" + }, + "solace" : { + "$ref" : "#/components/channelBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/channelBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/channelBindings/stomp" + }, + "ws" : { + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "ref" : { + "title" : null, + "description" : "Referral.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Authentication" : { + "title" : null, + "description" : "Authentication token", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + } + }, + "operationBindings" : { + "amqp" : { + "expiration" : 100000, + "userId" : "guest", + "cc" : [ "user.logs" ], + "priority" : 10, + "deliveryMode" : 2, + "mandatory" : false, + "bcc" : [ "external.audit" ], + "replyTo" : "user.signedup", + "timestamp" : true, + "ack" : false, + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/operationBindings/amqp1" + }, + "anypointmq" : { + "$ref" : "#/components/operationBindings/anypointmq" + }, + "googlepubsub" : { + "$ref" : "#/components/operationBindings/googlepubsub" + }, + "http" : { + "type" : "request", + "method" : "GET", + "query" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : [ "companyId" ], + "properties" : { + "companyId" : { + "title" : null, + "description" : "The Id of the company.", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "number", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : 1, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : false, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "$ref" : "#/components/operationBindings/ibmmq" + }, + "jms" : { + "$ref" : "#/components/operationBindings/jms" + }, + "kafka" : { + "bindingVersion" : "0.4.0", + "groupId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myGroupId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "clientId" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myClientId" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "mercure" : { + "$ref" : "#/components/operationBindings/mercure" + }, + "mqtt" : { + "qos" : 2, + "retain" : true, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/operationBindings/mqtt5" + }, + "nats" : { + "queue" : "messages", + "bindingVersion" : "0.1.0" + }, + "pulsar" : { + "$ref" : "#/components/operationBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/operationBindings/redis" + }, + "sns" : { + "$ref" : "#/components/operationBindings/sns" + }, + "solace" : { + "destinations" : [ { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "CreatedHREvents", + "topicSubscriptions" : [ "person/*/created" ], + "accessType" : "exclusive", + "maxMsgSpoolSize" : "1,500", + "maxTtl" : "60" + }, + "topic" : null + }, { + "destinationType" : "queue", + "deliveryMode" : "persistent", + "queue" : { + "name" : "UpdatedHREvents", + "topicSubscriptions" : [ "person/*/updated" ], + "accessType" : null, + "maxMsgSpoolSize" : null, + "maxTtl" : null + }, + "topic" : { + "topicSubscriptions" : [ "person/*/updated" ] + } + } ], + "bindingVersion" : "0.3.0" + }, + "sqs" : { + "$ref" : "#/components/operationBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/operationBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/operationBindings/ws" + } + }, + "messageBindings" : { + "amqp" : { + "contentEncoding" : "gzip", + "messageType" : "user.signup", + "bindingVersion" : "0.2.0" + }, + "amqp1" : { + "$ref" : "#/components/messageBindings/amqp1" + }, + "anypointmq" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "correlationId" : { + "title" : null, + "description" : "Correlation ID set by application", + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.0.1" + }, + "googlepubsub" : { + "orderingKey" : null, + "attributes" : null, + "schema" : { + "name" : "projects/your-project/schemas/message-avro", + "type" : "avro" + }, + "bindingVersion" : "0.1.0" + }, + "http" : { + "headers" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "object", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : { + "Content-Type" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "application/json" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + } + }, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : null, + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "bindingVersion" : "0.1.0" + }, + "ibmmq" : { + "type" : "jms", + "headers" : "Content-Type: application/json", + "description" : "JMS stream message", + "expiry" : 0, + "bindingVersion" : "0.1.0" + }, + "jms" : { + "$ref" : "#/components/messageBindings/jms" + }, + "kafka" : { + "key" : { + "title" : null, + "description" : null, + "readOnly" : null, + "writeOnly" : null, + "examples" : null, + "contentEncoding" : null, + "contentMediaType" : null, + "type" : "string", + "multipleOf" : null, + "maximum" : null, + "exclusiveMaximum" : null, + "minimum" : null, + "exclusiveMinimum" : null, + "maxLength" : null, + "minLength" : null, + "pattern" : null, + "items" : null, + "additionalItems" : null, + "maxItems" : null, + "minItems" : null, + "uniqueItems" : null, + "contains" : null, + "maxProperties" : null, + "minProperties" : null, + "required" : null, + "properties" : null, + "patternProperties" : null, + "additionalProperties" : null, + "dependencies" : null, + "propertyNames" : null, + "allOf" : null, + "anyOf" : null, + "oneOf" : null, + "not" : null, + "format" : null, + "discriminator" : null, + "externalDocs" : null, + "deprecated" : null, + "default" : null, + "$ref" : null, + "enum" : [ "myKey" ], + "const" : null, + "if" : null, + "then" : null, + "else" : null + }, + "schemaIdLocation" : "payload", + "schemaIdPayloadEncoding" : "apicurio-new", + "schemaLookupStrategy" : "TopicIdStrategy", + "bindingVersion" : "0.4.0" + }, + "mercure" : { + "$ref" : "#/components/messageBindings/mercure" + }, + "mqtt" : { + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "$ref" : "#/components/messageBindings/mqtt5" + }, + "nats" : { + "$ref" : "#/components/messageBindings/nats" + }, + "pulsar" : { + "$ref" : "#/components/messageBindings/pulsar" + }, + "redis" : { + "$ref" : "#/components/messageBindings/redis" + }, + "sns" : { + "$ref" : "#/components/messageBindings/sns" + }, + "solace" : { + "$ref" : "#/components/messageBindings/solace" + }, + "sqs" : { + "$ref" : "#/components/messageBindings/sqs" + }, + "stomp" : { + "$ref" : "#/components/messageBindings/stomp" + }, + "ws" : { + "$ref" : "#/components/messageBindings/ws" + } + }, + "externalDocs" : { + "externalDoc 1" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "externalDoc 2" : { + "$ref" : "#/components/externalDocs/externalDoc" + } + }, + "tags" : { + "tag 1" : { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2" : { + "name" : "user", + "description" : "User-related messages", + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "tag 3" : { + "$ref" : "#/components/tags/tag" + } + } + }, + "x-number" : 0, + "x-string" : "", + "x-object" : { + "property" : { } + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json new file mode 100644 index 00000000..e094a307 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json @@ -0,0 +1,13973 @@ +{ + "asyncapi": "3.0.0", + "id": "https://www.asyncapi.com", + "defaultContentType": "application/json", + "info": { + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + } + ], + "externalDocs": { + "description": "Find more info here", + "url": "https://example.com" + } + }, + "servers": { + "server 1": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 2": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + }], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 3": { + "$ref": "#/components/servers/server" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "components": { + "schemas": { + "Category": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + }, + "Tag": { + "schemaFormat": "application/json", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + } + }, + "User": { + "$ref": "#/components/schemas/user" + } + }, + "servers": { + "mqtt-test": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage": { + "$ref": "#/components/servers/mqtt-stage" + } + }, + "serverVariables": { + "port": { + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ] + }, + "basePath": { + "$ref": "#/components/serverVariables/basePath" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "replies": { + "reply 1": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 2": { + "address": { + "$ref": "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 3": { + "$ref": "#/components/replies/reply" + } + }, + "replyAddresses": { + "reply addresses 1": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "reply addresses 2": { + "$ref": "#/components/replyAddresses/replyAddress" + } + }, + "messages": { + "message 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 4": { + "$ref": "#/components/messages/message" + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + "asymmetricEncryption": { + "$ref": "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi": { + "$ref": "#/components/securitySchemes/gssapi" + }, + "oauth2": { + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ] + }, + "openIdConnect": { + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ] + }, + "httpApiKey": { + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" + }, + "httpBasic": { + "type": "http", + "description": "http", + "scheme": "basic" + }, + "httpBearer": { + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "plain": { + "$ref": "#/components/securitySchemes/plain" + }, + "scramSha256": { + "$ref": "#/components/securitySchemes/scramSha256" + }, + "scramSha512": { + "$ref": "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption": { + "$ref": "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword": { + "$ref": "#/components/securitySchemes/userPassword" + }, + "X509": { + "$ref": "#/components/securitySchemes/X509" + } + }, + "parameters": { + "parameter 1": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "parameter 2": { + "$ref": "#/components/parameters/parameter" + } + }, + "correlationIds": { + "correlationId 1": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "correlationId 2": { + "$ref": "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits": { + "operationTrait 1": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operationTrait 2": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operationTrait 3": { + "$ref": "#/components/operationTraits/operationTrait" + } + }, + "messageTraits": { + "messageTrait 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 4": { + "$ref": "#/components/messageTraits/messageTrait" + } + }, + "serverBindings": { + "amqp": { + "$ref": "#/components/serverBindings/amqp" + }, + "amqp1": {}, + "anypointmq": {}, + "googlepubsub": {}, + "http": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" + }, + "jms": {}, + "kafka": { + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" + }, + "mercure": {}, + "mqtt": { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" + }, + "nats": {}, + "pulsar": { + "tenant": "contoso", + "bindingVersion": "0.1.0" + }, + "redis": {}, + "sns": {}, + "solace": { + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" + }, + "sqs": {}, + "stomp": {}, + "ws": {} + }, + "channelBindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "operationBindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messageBindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "externalDocs": { + "externalDoc 1": { + "description": "Find more info here", + "url": "https://example.com" + }, + "externalDoc 2": { + "$ref": "#/components/externalDocs/externalDoc" + } + }, + "tags": { + "tag 1": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + "tag 3": { + "$ref": "#/components/tags/tag" + } + } + }, + "x-number": 0, + "x-string": "", + "x-object": { + "property": {} + }, + "ext-number": 1 +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json new file mode 100644 index 00000000..ee0257c0 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json @@ -0,0 +1,13967 @@ +{ + "asyncapi": "3.0.0", + "id": "https://www.asyncapi.com", + "defaultContentType": "application/json", + "info": { + "title": "AsyncApi sample", + "version": "2.0", + "description": "short description", + "termsOfService": "https://www.asyncapi.com/about/", + "contact": { + "name": "AsyncApi", + "url": "https://www.asyncapi.com", + "email": "java@asyncapi.com" + }, + "license": { + "name": "Apache License 2.0", + "url": "http://www.apache.org/licenses/" + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + } + ], + "externalDocs": { + "description": "Find more info here", + "url": "https://example.com" + } + }, + "servers": { + "server 1": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 2": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + }, { + "$ref" : "#/components/securitySchemes/openId" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + }, { + "$ref" : "#/components/tags/tag_name" + }], + "externalDocs" : { + "$ref" : "#/components/externalDocs/externalDoc" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "server 3": { + "$ref": "#/components/servers/server" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "components": { + "schemas": { + "Category": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + }, + "Tag": { + "schemaFormat": "application/json", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + } + } + } + }, + "User": { + "$ref": "#/components/schemas/user" + } + }, + "servers": { + "mqtt-test": { + "host" : "{username}.gigantic-server.com:{port}/{basePath}", + "protocol" : "secure-mqtt", + "protocolVersion" : "5", + "pathname" : "/messages", + "description" : "The production API server", + "title" : "secure-mqtt API server", + "summary" : "API server", + "variables" : { + "username" : { + "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", + "examples" : null, + "enum" : null, + "default" : "demo" + }, + "port" : { + "description" : null, + "examples" : null, + "enum" : [ "8883", "8884" ], + "default" : "8883" + }, + "basePath" : { + "$ref" : "#/components/serverVariables/basePath" + } + }, + "security" : [ { + "type" : "apiKey", + "description" : "apiKey", + "in" : "user" + }, { + "type" : "http", + "description" : "http", + "scheme" : "bearer", + "bearerFormat" : "JWT" + } ], + "tags" : [ { + "name" : "env:staging", + "description" : "This environment is a replica of the production environment", + "externalDocs" : null + } ], + "externalDocs" : { + "description" : "Find more info here", + "url" : "https://example.com" + }, + "bindings" : { + "amqp" : { + "$ref" : "#/components/serverBindings/amqp" + }, + "amqp1" : { }, + "anypointmq" : { }, + "googlepubsub" : { }, + "http" : { }, + "ibmmq" : { + "groupId" : "PRODCLSTR1", + "ccdtQueueManagerName" : "*", + "cipherSpec" : "ANY_TLS12_OR_HIGHER", + "multiEndpointServer" : false, + "heartBeatInterval" : 300, + "bindingVersion" : "0.1.0" + }, + "jms" : { }, + "kafka" : { + "schemaRegistryUrl" : "https://my-schema-registry.com", + "schemaRegistryVendor" : "confluent", + "bindingVersion" : "0.4.0" + }, + "mercure" : { }, + "mqtt" : { + "clientId" : "guest", + "cleanSession" : true, + "lastWill" : { + "topic" : "/last-wills", + "qos" : 2, + "message" : "Guest gone offline.", + "retain" : false + }, + "keepAlive" : 60, + "bindingVersion" : "0.1.0" + }, + "mqtt5" : { + "sessionExpiryInterval" : 60, + "bindingVersion" : "0.2.0" + }, + "nats" : { }, + "pulsar" : { + "tenant" : "contoso", + "bindingVersion" : "0.1.0" + }, + "redis" : { }, + "sns" : { }, + "solace" : { + "msgVpn" : "solace.private.net", + "bindingVersion" : "0.3.0" + }, + "sqs" : { }, + "stomp" : { }, + "ws" : { } + } + }, + "mqtt-stage": { + "$ref": "#/components/servers/mqtt-stage" + } + }, + "serverVariables": { + "port": { + "enum": [ + "8883", + "8884" + ], + "default": "8883", + "description": "To which port connect", + "examples": [ + "8883", + "8884" + ] + }, + "basePath": { + "$ref": "#/components/serverVariables/basePath" + } + }, + "channels": { + "channel 1": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "channel 2": { + "address": "users.{userId}", + "title": "Users channel", + "summary": "messages about user events.", + "description": "This channel is used to exchange messages about users signing up", + "servers": [ + { "$ref": "#/components/servers/1"}, + { "$ref": "#/components/servers/2"}, + { "$ref": "#/components/servers/3"} + ], + "parameters": { + "userId": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "userStatus": { "$ref": "#/components/parameters/user-status"} + }, + "messages": { + "changeStatus": { "$ref": "#/components/parameters/user-status"}, + "message": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message with reference": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + } + }, + "bindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "tags": [ + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + { + "$ref": "#/components/tag" + } + ], + "externalDocs" : { + "$ref" : "#/components/external-doc" + } + }, + "channel 3": { + "$ref": "#/components/channels/channel" + } + }, + "operations": { + "operation 1": { + "action": "send", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operation 2": { + "action": "receive", + "channel": "#/components/channels/channel", + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "traits": [ + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + { + "$ref": "#/components/operations/trait" + } + ], + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operation 3": { + "$ref": "#/components/operations/operation" + } + }, + "replies": { + "reply 1": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 2": { + "address": { + "$ref": "#/components/addresses/address" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + }, + "reply 3": { + "$ref": "#/components/replies/reply" + } + }, + "replyAddresses": { + "reply addresses 1": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "reply addresses 2": { + "$ref": "#/components/replyAddresses/replyAddress" + } + }, + "messages": { + "message 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "payload": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "payload": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "metric": { + "description": "Metric set by application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref" : "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "payload": { + "$ref": "#/components/messages/message-payload" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ], + "traits": [ + { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + } + ] + }, + "message 4": { + "$ref": "#/components/messages/message" + } + }, + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + "asymmetricEncryption": { + "$ref": "#/components/securitySchemes/asymmetricEncryption" + }, + "gssapi": { + "$ref": "#/components/securitySchemes/gssapi" + }, + "oauth2": { + "type": "oauth2", + "description": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "clientCredentials": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "implicit": { + "authorizationUrl": "https://example.com/api/oauth/dialog", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + }, + "password": { + "tokenUrl": "https://example.com/api/oauth/token", + "refreshUrl": "https://example.com/api/oauth/refresh", + "scopes": { + "write:pets": "modify pets in your account", + "read:pets": "read your pets" + } + } + }, + "scopes": [ "write:pets", "read:pets" ] + }, + "openIdConnect": { + "type": "openIdConnect", + "description": "openIdConnect", + "openIdConnectUrl": "https://server.com/.well-known/openid-configuration", + "scopes": [ + "write:pets", + "read:pets" + ] + }, + "httpApiKey": { + "type": "httpApiKey", + "description": "httpApiKey", + "name": "api_key", + "in": "header" + }, + "httpBasic": { + "type": "http", + "description": "http", + "scheme": "basic" + }, + "httpBearer": { + "type": "http", + "description": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + }, + "plain": { + "$ref": "#/components/securitySchemes/plain" + }, + "scramSha256": { + "$ref": "#/components/securitySchemes/scramSha256" + }, + "scramSha512": { + "$ref": "#/components/securitySchemes/scramSha512" + }, + "symmetricEncryption": { + "$ref": "#/components/securitySchemes/symmetricEncryption" + }, + "userPassword": { + "$ref": "#/components/securitySchemes/userPassword" + }, + "X509": { + "$ref": "#/components/securitySchemes/X509" + } + }, + "parameters": { + "parameter 1": { + "description": "Id of the user.", + "default": "0e822ca6-5311-4d4c-b409-993a1820e689", + "enum": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "examples": [ + "0e822ca6-5311-4d4c-b409-993a1820e689", + "381f5ddc-75c6-4c21-9ec1-3919ed345be9", + "70559d88-31a5-4ef2-8c34-7fbd04057ed5", + "c6dc0047-a90d-4efa-95e3-a272282934e0" + ], + "location": "$message.payload#/user/id" + }, + "parameter 2": { + "$ref": "#/components/parameters/parameter" + } + }, + "correlationIds": { + "correlationId 1": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "correlationId 2": { + "$ref": "#/correlationIds/parameters/correlationId" + } + }, + "operationTraits": { + "operationTrait 1": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "address": { + "description": "Consumer inbox", + "location": "$message.header#/replyTo" + }, + "channel": { + "$ref": "#/components/channels/channel" + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ] + } + }, + "operationTrait 2": { + "title": "Send message operation", + "summary": "Send message", + "description": "Send message to remote server", + "security": [ + { + "type": "apiKey", + "description": "apiKey", + "in": "user" + }, + { + "$ref": "#/components/security/plain" + } + ], + "tags": [ + { + "name": "messages", + "description": "operations with messages", + "externalDocs": { + "description": "Messages validation rules", + "url": "messages/validation-rules" + } + }, + { + "$ref": "#/components/tags/tag" + } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messages": [ + { + "$ref": "#/components/messages/message 1" + }, + { + "$ref": "#/components/messages/message 2" + }, + { + "$ref": "#/components/messages/message 3" + } + ], + "reply": { + "$ref": "#/components/replies/reply" + } + }, + "operationTrait 3": { + "$ref": "#/components/operationTraits/operationTrait" + } + }, + "messageTraits": { + "messageTrait 1": { + "messageId": "userSignup", + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + }, + "correlationId": { + "description": "Default Correlation ID", + "location": "$message.header#/correlationId" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" } + ], + "externalDocs": { + "description": "User sign up rules", + "url": "messages/sign-up-rules" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 2": { + "messageId": "userSignup", + "headers": { + "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", + "schema": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + }, + "applicationInstanceId": { + "description": "Unique identifier for a given instance of the publishing application", + "type": "string" + } + } + } + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 3": { + "messageId": "userSignup", + "headers": { + "$ref": "#/components/messages/message-header" + }, + "correlationId": { + "$ref": "#/components/messages/message-correlation-id" + }, + "contentType": "application/json", + "name": "UserSignup", + "title": "User signup", + "summary": "Action to sign a user up.", + "description": "A longer description", + "tags": [ + { "name": "user" }, + { "name": "signup" }, + { "name": "register" }, + { "$ref": "#/components/tags/tag" } + ], + "externalDocs": { + "$ref": "#/components/externalDocs/external-doc" + }, + "bindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "examples": [ + { + "name": "SimpleSignup", + "summary": "A simple UserSignup example message", + "headers": { + "correlationId": "my-correlation-id", + "applicationInstanceId": "myInstanceId" + }, + "payload": { + "user": { + "someUserKey": "someUserValue" + }, + "signup": { + "someSignupKey": "someSignupValue" + } + } + } + ] + }, + "messageTrait 4": { + "$ref": "#/components/messageTraits/messageTrait" + } + }, + "serverBindings": { + "amqp": { + "$ref": "#/components/serverBindings/amqp" + }, + "amqp1": {}, + "anypointmq": {}, + "googlepubsub": {}, + "http": {}, + "ibmmq": { + "groupId": "PRODCLSTR1", + "ccdtQueueManagerName": "*", + "multiEndpointServer": false, + "heartBeatInterval": 300, + "cipherSpec": "ANY_TLS12_OR_HIGHER", + "bindingVersion": "0.1.0" + }, + "jms": {}, + "kafka": { + "schemaRegistryUrl": "https://my-schema-registry.com", + "schemaRegistryVendor": "confluent", + "bindingVersion": "0.4.0" + }, + "mercure": {}, + "mqtt": { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "sessionExpiryInterval": 60, + "bindingVersion": "0.2.0" + }, + "nats": {}, + "pulsar": { + "tenant": "contoso", + "bindingVersion": "0.1.0" + }, + "redis": {}, + "sns": {}, + "solace": { + "msgVpn": "solace.private.net", + "bindingVersion": "0.3.0" + }, + "sqs": {}, + "stomp": {}, + "ws": {} + }, + "channelBindings": { + "amqp": { + "is": "routingKey", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/channelBindings/amqp1" + }, + "anypointmq": { + "destination": "user-signup-exchg", + "destinationType": "exchange", + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "topic": "projects/your-project/topics/topic-proto-schema", + "messageRetentionDuration": "86400s", + "messageStoragePolicy": { + "allowedPersistenceRegions": [ + "us-central1", + "us-central2", + "us-east1", + "us-east4", + "us-east5", + "us-east7", + "us-south1", + "us-west1", + "us-west2", + "us-west3", + "us-west4" + ] + }, + "schemaSettings": { + "encoding": "binary", + "name": "projects/your-project/schemas/message-proto" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "$ref": "#/components/channelBindings/http" + }, + "ibmmq": { + "destinationType": "topic", + "queue": { + "objectName": "message", + "isPartitioned": false, + "exclusive": true + }, + "topic": { + "string": "messages", + "objectName": "message", + "durablePermitted": true, + "lastMsgRetained": true + }, + "maxMsgLength": 1024, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/channelBindings/jms" + }, + "kafka": { + "topic": "my-specific-topic-name", + "partitions": 20, + "replicas": 3, + "topicConfiguration": { + "cleanup.policy": [ + "delete", + "compact" + ], + "retention.ms": 604800000, + "retention.bytes": 1000000000, + "delete.retention.ms": 86400000, + "max.message.bytes": 1048588 + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/channelBindings/mercure" + }, + "mqtt": { + "$ref": "#/components/channelBindings/mqtt" + }, + "mqtt5": { + "$ref": "#/components/channelBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/channelBindings/nats" + }, + "pulsar": { + "namespace": "staging", + "persistence": "persistent", + "compaction": 1000, + "geo-replication": [ + "us-east1", + "us-west1" + ], + "retention": { + "time": 7, + "size": 1000 + }, + "ttl": 360, + "deduplication": false, + "bindingVersion": "0.1.0" + }, + "redis": { + "$ref": "#/components/channelBindings/redis" + }, + "sns": { + "$ref": "#/components/channelBindings/sns" + }, + "solace": { + "$ref": "#/components/channelBindings/solace" + }, + "sqs": { + "$ref": "#/components/channelBindings/sqs" + }, + "stomp": { + "$ref": "#/components/channelBindings/stomp" + }, + "ws": { + "method": "GET", + "query": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Referral." + } + } + }, + "headers": { + "type": "object", + "properties": { + "Authentication": { + "type": "string", + "description": "Authentication token" + } + } + } + } + }, + "operationBindings": { + "amqp": { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "replyTo": "user.signedup", + "timestamp": true, + "ack": false, + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/operationBindings/amqp1" + }, + "anypointmq": { + "$ref": "#/components/operationBindings/anypointmq" + }, + "googlepubsub": { + "$ref": "#/components/operationBindings/googlepubsub" + }, + "http": { + "type": "request", + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "$ref": "#/components/operationBindings/ibmmq" + }, + "jms": { + "$ref": "#/components/operationBindings/jms" + }, + "kafka": { + "groupId": { + "type": "string", + "enum": [ + "myGroupId" + ] + }, + "clientId": { + "type": "string", + "enum": [ + "myClientId" + ] + }, + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/operationBindings/mercure" + }, + "mqtt": { + "qos": 2, + "retain": true, + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/operationBindings/mqtt5" + }, + "nats": { + "queue": "messages", + "bindingVersion": "0.1.0" + }, + "pulsar": { + "$ref": "#/components/operationBindings/pulsar" + }, + "redis": { + "$ref": "#/components/operationBindings/redis" + }, + "sns": { + "$ref": "#/components/operationBindings/sns" + }, + "solace": { + "destinations": [ + { + "destinationType": "queue", + "queue": { + "name": "CreatedHREvents", + "topicSubscriptions": [ + "person/*/created" + ], + "accessType": "exclusive", + "maxMsgSpoolSize": "1,500", + "maxTtl": "60" + } + }, + { + "destinationType": "queue", + "queue": { + "name": "UpdatedHREvents", + "topicSubscriptions": [ + "person/*/updated" + ] + }, + "topic": { + "topicSubscriptions": [ + "person/*/updated" + ] + } + } + ], + "bindingVersion": "0.3.0" + }, + "sqs": { + "$ref": "#/components/operationBindings/sqs" + }, + "stomp": { + "$ref": "#/components/operationBindings/stomp" + }, + "ws": { + "$ref": "#/components/operationBindings/ws" + } + }, + "messageBindings": { + "amqp": { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.2.0" + }, + "amqp1": { + "$ref": "#/components/messageBindings/amqp1" + }, + "anypointmq": { + "headers": { + "type": "object", + "properties": { + "correlationId": { + "description": "Correlation ID set by application", + "type": "string" + } + } + }, + "bindingVersion": "0.0.1" + }, + "googlepubsub": { + "schema": { + "name": "projects/your-project/schemas/message-avro", + "type": "avro" + }, + "bindingVersion": "0.1.0" + }, + "http": { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.1.0" + }, + "ibmmq": { + "type": "jms", + "description": "JMS stream message", + "headers": "Content-Type: application/json", + "expiry": 0, + "bindingVersion": "0.1.0" + }, + "jms": { + "$ref": "#/components/messageBindings/jms" + }, + "kafka": { + "key": { + "type": "string", + "enum": [ + "myKey" + ] + }, + "schemaIdLocation": "payload", + "schemaIdPayloadEncoding": "apicurio-new", + "schemaLookupStrategy": "TopicIdStrategy", + "bindingVersion": "0.4.0" + }, + "mercure": { + "$ref": "#/components/messageBindings/mercure" + }, + "mqtt": { + "bindingVersion": "0.1.0" + }, + "mqtt5": { + "$ref": "#/components/messageBindings/mqtt5" + }, + "nats": { + "$ref": "#/components/messageBindings/nats" + }, + "pulsar": { + "$ref": "#/components/messageBindings/pulsar" + }, + "redis": { + "$ref": "#/components/messageBindings/redis" + }, + "sns": { + "$ref": "#/components/messageBindings/sns" + }, + "solace": { + "$ref": "#/components/messageBindings/solace" + }, + "sqs": { + "$ref": "#/components/messageBindings/sqs" + }, + "stomp": { + "$ref": "#/components/messageBindings/stomp" + }, + "ws": { + "$ref": "#/components/messageBindings/ws" + } + }, + "externalDocs": { + "externalDoc 1": { + "description": "Find more info here", + "url": "https://example.com" + }, + "externalDoc 2": { + "$ref": "#/components/externalDocs/externalDoc" + } + }, + "tags": { + "tag 1": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "description" : "Find more info here", + "url" : "https://example.com" + } + }, + "tag 2": { + "name": "user", + "description": "User-related messages", + "externalDocs": { + "$ref": "#/components/external-doc" + } + }, + "tag 3": { + "$ref": "#/components/tags/tag" + } + } + } +} \ No newline at end of file From 898d915ce24ea768e6016e1739fd2ac5e030a6f7 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 5 Oct 2023 22:31:27 +0400 Subject: [PATCH 127/210] feat(3.0.0): refactor tests Don't serialize null --- .../test/kotlin/com/asyncapi/v3/SerDeTest.kt | 3 +- .../v3/3.0.0/model/asyncapi - extended.json | 22419 +--------------- .../model/channel/channel - extended.json | 3681 +-- .../channel with reference - extended.json | 3681 +-- .../channel/message/message - extended.json | 1316 +- .../channel/message/message 2 - extended.json | 1091 +- .../message with reference - extended.json | 1091 +- .../message/messageTrait - extended.json | 374 +- .../message/messageTrait 2 - extended.json | 239 +- ...essageTrait with reference - extended.json | 239 +- .../components/components - extended.json | 13933 +--------- .../model/operation/operation - extended.json | 555 +- .../operation with reference - extended.json | 555 +- .../operation/operationTrait - extended.json | 185 +- ...rationTrait with reference - extended.json | 185 +- .../3.0.0/model/server/server - extended.json | 7 +- .../server with reference - extended.json | 7 +- ...googlePubSubChannelBinding - extended.json | 3 - .../webSocketsChannelBinding - extended.json | 180 +- .../anypointMQMessageBinding - extended.json | 90 +- ...googlePubSubMessageBinding - extended.json | 2 - .../http/httpMessageBinding - extended.json | 90 +- .../kafka/kafkaMessageBinding - extended.json | 45 +- .../http/httpOperationBinding - extended.json | 87 +- .../kafkaOperationBinding - extended.json | 90 +- .../solaceOperationBinding - extended.json | 8 +- .../http/httpBasic - extended.json | 1 - 27 files changed, 1564 insertions(+), 48593 deletions(-) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt index d33c77e6..45ccc185 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/SerDeTest.kt @@ -1,5 +1,6 @@ package com.asyncapi.v3 +import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.databind.JsonMappingException import com.fasterxml.jackson.databind.ObjectMapper import org.junit.jupiter.api.Assertions @@ -8,7 +9,7 @@ import org.junit.jupiter.api.Test abstract class SerDeTest { - protected val objectMapper = ObjectMapper() + protected val objectMapper = ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL) protected abstract fun objectClass(): Class diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json index 28a553c7..f984dcc6 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json @@ -41,13 +41,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -67,8 +63,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" } ], "externalDocs" : { "description" : "Find more info here", @@ -140,13 +135,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -168,8 +159,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" }, { "$ref" : "#/components/tags/tag_name" } ], @@ -267,241 +257,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -523,105 +298,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -630,99 +317,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -738,51 +339,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -842,146 +400,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -1003,105 +432,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1110,99 +451,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1218,51 +473,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1320,17 +532,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1360,105 +566,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1467,99 +585,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1575,51 +607,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1677,17 +666,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1731,105 +714,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1838,99 +733,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1946,51 +755,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2048,17 +814,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -2067,17 +827,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -2133,105 +887,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2240,99 +906,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2348,51 +928,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2452,146 +989,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -2613,105 +1021,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2720,99 +1040,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2828,51 +1062,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2930,17 +1121,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -2970,105 +1155,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3077,99 +1174,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3185,51 +1196,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3287,17 +1255,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3341,105 +1303,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3448,99 +1322,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3556,51 +1344,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3658,17 +1403,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3677,17 +1416,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3722,105 +1455,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3829,99 +1474,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3937,51 +1496,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4041,146 +1557,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -4202,105 +1589,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4309,99 +1608,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4417,51 +1630,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4519,17 +1689,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -4559,105 +1723,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4666,99 +1742,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4774,51 +1764,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4876,17 +1823,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -4930,105 +1871,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -5037,99 +1890,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -5145,51 +1912,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5247,17 +1971,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5266,17 +1984,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5314,15 +2026,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -5405,194 +2114,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -5649,241 +2186,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -5905,105 +2227,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6012,99 +2246,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6120,51 +2268,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -6224,146 +2329,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -6385,105 +2361,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6492,99 +2380,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6600,51 +2402,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -6702,17 +2461,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -6742,105 +2495,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6849,99 +2514,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6957,51 +2536,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7059,17 +2595,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -7113,105 +2643,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -7220,99 +2662,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -7328,51 +2684,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7430,17 +2743,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -7449,17 +2756,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -7515,105 +2816,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -7622,99 +2835,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -7730,51 +2857,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7834,146 +2918,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -7995,105 +2950,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8102,99 +2969,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8210,51 +2991,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -8312,17 +3050,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -8352,105 +3084,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8459,99 +3103,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8567,51 +3125,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -8669,17 +3184,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -8723,105 +3232,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8830,99 +3251,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8938,51 +3273,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9040,17 +3332,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -9059,17 +3345,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -9104,105 +3384,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -9211,99 +3403,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -9319,51 +3425,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9423,146 +3486,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -9584,105 +3518,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -9691,99 +3537,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -9799,51 +3559,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9901,17 +3618,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -9941,105 +3652,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -10048,99 +3671,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -10156,51 +3693,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -10258,17 +3752,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10312,105 +3800,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -10419,99 +3819,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -10527,51 +3841,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -10629,17 +3900,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10648,17 +3913,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10696,15 +3955,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -10787,194 +4043,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -11060,99 +4144,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11165,98 +4166,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11293,17 +4208,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -11373,99 +4284,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11478,98 +4306,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11606,17 +4348,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -11708,99 +4446,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11813,98 +4468,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11941,17 +4510,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12061,99 +4626,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12166,98 +4648,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12294,17 +4690,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12374,99 +4766,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12479,98 +4788,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12607,17 +4830,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12709,99 +4928,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12814,98 +4950,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12942,17 +4992,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -13001,146 +5047,16 @@ "components" : { "schemas" : { "Category" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "id" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "integer", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : "int64", - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "format" : "int64" }, "name" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "Tag" : { "schemaFormat" : "application/json", @@ -13173,13 +5089,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -13199,8 +5111,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" } ], "externalDocs" : { "description" : "Find more info here", @@ -13308,241 +5219,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -13564,105 +5260,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -13671,99 +5279,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -13779,51 +5301,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -13883,146 +5362,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -14044,105 +5394,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -14151,99 +5413,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14259,51 +5435,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -14361,17 +5494,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -14401,105 +5528,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -14508,99 +5547,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14616,51 +5569,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -14718,17 +5628,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -14772,105 +5676,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -14879,99 +5695,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14987,51 +5717,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -15089,17 +5776,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -15108,17 +5789,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -15174,105 +5849,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -15281,99 +5868,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -15389,51 +5890,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -15493,146 +5951,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -15654,105 +5983,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -15761,99 +6002,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -15869,51 +6024,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -15971,17 +6083,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -16011,105 +6117,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -16118,99 +6136,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16226,51 +6158,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -16328,17 +6217,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16382,105 +6265,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -16489,99 +6284,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16597,51 +6306,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -16699,17 +6365,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16718,17 +6378,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16763,105 +6417,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -16870,99 +6436,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16978,51 +6458,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -17082,146 +6519,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -17243,105 +6551,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -17350,99 +6570,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -17458,51 +6592,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -17560,17 +6651,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -17600,105 +6685,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -17707,99 +6704,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -17815,51 +6726,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -17917,17 +6785,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -17971,105 +6833,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -18078,99 +6852,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -18186,51 +6874,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -18288,17 +6933,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -18307,17 +6946,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -18355,15 +6988,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -18446,194 +7076,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -18690,241 +7148,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -18946,105 +7189,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19053,99 +7208,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -19161,51 +7230,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -19265,146 +7291,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -19426,105 +7323,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19533,99 +7342,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -19641,51 +7364,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -19743,17 +7423,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -19783,105 +7457,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19890,99 +7476,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -19998,51 +7498,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -20100,17 +7557,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -20154,105 +7605,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -20261,99 +7624,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -20369,51 +7646,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -20471,17 +7705,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -20490,17 +7718,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -20556,105 +7778,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -20663,99 +7797,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -20771,51 +7819,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -20875,146 +7880,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -21036,105 +7912,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -21143,99 +7931,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -21251,51 +7953,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -21353,17 +8012,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -21393,105 +8046,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -21500,99 +8065,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -21608,51 +8087,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -21710,17 +8146,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -21764,105 +8194,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -21871,99 +8213,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -21979,51 +8235,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -22081,17 +8294,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -22100,17 +8307,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -22145,105 +8346,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -22252,99 +8365,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -22360,51 +8387,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -22464,146 +8448,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -22625,105 +8480,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -22732,99 +8499,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -22840,51 +8521,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -22942,17 +8580,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -22982,105 +8614,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -23089,99 +8633,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -23197,51 +8655,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -23299,17 +8714,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -23353,105 +8762,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -23460,99 +8781,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -23568,51 +8803,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -23670,17 +8862,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -23689,17 +8875,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -23737,15 +8917,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -23828,194 +9005,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -24101,99 +9106,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -24206,98 +9128,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -24334,17 +9170,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -24414,99 +9246,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -24519,98 +9268,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -24647,17 +9310,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -24749,99 +9408,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -24854,98 +9430,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -24982,17 +9472,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -25102,99 +9588,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -25207,98 +9610,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -25335,17 +9652,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -25415,99 +9728,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -25520,98 +9750,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -25648,17 +9792,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -25750,99 +9890,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -25855,98 +9912,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -25983,17 +9954,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -26088,241 +10055,26 @@ "message 1" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -26344,105 +10096,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -26451,99 +10115,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -26559,51 +10137,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -26663,146 +10198,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -26824,105 +10230,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -26931,99 +10249,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -27039,51 +10271,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -27141,17 +10330,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -27181,105 +10364,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -27288,99 +10383,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -27396,51 +10405,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -27498,17 +10464,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -27552,105 +10512,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -27659,99 +10531,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -27767,51 +10553,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -27869,17 +10612,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -27888,17 +10625,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -27954,105 +10685,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -28061,99 +10704,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -28169,51 +10726,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -28273,146 +10787,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -28434,105 +10819,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -28541,99 +10838,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -28649,51 +10860,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -28751,17 +10919,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -28791,105 +10953,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -28898,99 +10972,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -29006,51 +10994,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -29108,17 +11053,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -29162,105 +11101,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -29269,99 +11120,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -29377,51 +11142,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -29479,17 +11201,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -29498,17 +11214,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -29543,105 +11253,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -29650,99 +11272,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -29758,51 +11294,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -29862,146 +11355,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -30023,105 +11387,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -30130,99 +11406,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -30238,51 +11428,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -30340,17 +11487,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -30380,105 +11521,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -30487,99 +11540,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -30595,51 +11562,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -30697,17 +11621,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -30751,105 +11669,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -30858,99 +11688,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -30966,51 +11710,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -31068,17 +11769,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -31087,17 +11782,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -31176,8 +11865,7 @@ "httpBasic" : { "type" : "http", "description" : "http", - "scheme" : "basic", - "bearerFormat" : null + "scheme" : "basic" }, "httpBearer" : { "type" : "http", @@ -31278,99 +11966,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -31383,98 +11988,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -31511,17 +12030,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -31614,99 +12129,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -31719,98 +12151,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -31847,17 +12193,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -31894,146 +12236,17 @@ "messageTrait 1" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -32055,105 +12268,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -32162,99 +12287,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -32270,51 +12309,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -32372,17 +12368,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -32426,105 +12416,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -32533,99 +12435,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -32641,51 +12457,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -32743,17 +12516,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -32785,105 +12552,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -32892,99 +12571,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -33000,51 +12593,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -33102,17 +12652,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -33207,15 +12751,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -33298,194 +12839,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -33517,99 +12886,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -33622,98 +12908,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -33750,17 +12950,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -33789,105 +12985,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -33896,99 +13004,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -34004,51 +13026,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json index 8e6e9957..72243656 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json @@ -29,241 +29,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -285,105 +70,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -392,99 +89,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -500,51 +111,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -604,146 +172,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -765,105 +204,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -872,99 +223,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -980,51 +245,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1082,17 +304,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1122,105 +338,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1229,99 +357,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1337,51 +379,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1439,17 +438,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1493,105 +486,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1600,99 +505,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1708,51 +527,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1810,17 +586,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1829,17 +599,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1895,105 +659,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2002,99 +678,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2110,51 +700,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2214,146 +761,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -2375,105 +793,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2482,99 +812,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2590,51 +834,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2692,17 +893,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -2732,105 +927,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2839,99 +946,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2947,51 +968,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3049,17 +1027,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3103,105 +1075,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3210,99 +1094,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3318,51 +1116,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3420,17 +1175,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3439,17 +1188,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3484,105 +1227,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3591,99 +1246,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3699,51 +1268,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3803,146 +1329,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -3964,105 +1361,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4071,99 +1380,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4179,51 +1402,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4281,17 +1461,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -4321,105 +1495,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4428,99 +1514,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4536,51 +1536,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4638,17 +1595,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -4692,105 +1643,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4799,99 +1662,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4907,51 +1684,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5009,17 +1743,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5028,17 +1756,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5076,15 +1798,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -5167,194 +1886,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json index c41a9270..dcc4605f 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json @@ -29,241 +29,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -285,105 +70,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -392,99 +89,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -500,51 +111,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -604,146 +172,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -765,105 +204,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -872,99 +223,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -980,51 +245,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1082,17 +304,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1122,105 +338,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1229,99 +357,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1337,51 +379,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1439,17 +438,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1493,105 +486,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1600,99 +505,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1708,51 +527,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1810,17 +586,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1829,17 +599,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1895,105 +659,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2002,99 +678,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2110,51 +700,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2214,146 +761,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -2375,105 +793,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2482,99 +812,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2590,51 +834,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2692,17 +893,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -2732,105 +927,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2839,99 +946,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2947,51 +968,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3049,17 +1027,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3103,105 +1075,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3210,99 +1094,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3318,51 +1116,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3420,17 +1175,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3439,17 +1188,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3484,105 +1227,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3591,99 +1246,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3699,51 +1268,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3803,146 +1329,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -3964,105 +1361,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4071,99 +1380,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4179,51 +1402,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4281,17 +1461,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -4321,105 +1495,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4428,99 +1514,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4536,51 +1536,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4638,17 +1595,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -4692,105 +1643,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4799,99 +1662,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4907,51 +1684,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5009,17 +1743,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5028,17 +1756,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5076,15 +1798,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -5167,194 +1886,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json index 89842f35..18ef0098 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json @@ -1,241 +1,26 @@ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -257,105 +42,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -364,99 +61,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -472,51 +83,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -576,146 +144,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -737,105 +176,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -844,99 +195,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -952,51 +217,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1054,17 +276,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1094,105 +310,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1201,99 +329,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1309,51 +351,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1411,17 +410,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1465,105 +458,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1572,99 +477,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1680,51 +499,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1782,17 +558,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1801,17 +571,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json index c59e5593..d671c764 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json @@ -47,105 +47,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -154,99 +66,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -262,51 +88,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -366,146 +149,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -527,105 +181,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -634,99 +200,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -742,51 +222,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -844,17 +281,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -884,105 +315,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -991,99 +334,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1099,51 +356,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1201,17 +415,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1255,105 +463,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1362,99 +482,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1470,51 +504,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1572,17 +563,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1591,17 +576,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json index c0ad7e10..b5b5f5fc 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json @@ -25,105 +25,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -132,99 +44,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -240,51 +66,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -344,146 +127,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -505,105 +159,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -612,99 +178,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -720,51 +200,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -822,17 +259,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -862,105 +293,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -969,99 +312,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1077,51 +334,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1179,17 +393,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1233,105 +441,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1340,99 +460,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1448,51 +482,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1550,17 +541,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1569,17 +554,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json index b16b6674..02ac4644 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json @@ -1,146 +1,17 @@ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -162,105 +33,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -269,99 +52,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -377,51 +74,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -479,17 +133,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json index fa5202ce..6a154c25 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json @@ -35,105 +35,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -142,99 +54,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -250,51 +76,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -352,17 +135,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json index c72450c7..388e54f6 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json @@ -22,105 +22,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -129,99 +41,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -237,51 +63,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -339,17 +122,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json index 7506f77a..16d5e98c 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json @@ -1,146 +1,16 @@ { "schemas" : { "Category" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "id" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "integer", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : "int64", - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "format" : "int64" }, "name" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "Tag" : { "schemaFormat" : "application/json", @@ -173,13 +43,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -199,8 +65,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" } ], "externalDocs" : { "description" : "Find more info here", @@ -308,241 +173,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -564,105 +214,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -671,99 +233,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -779,51 +255,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -883,146 +316,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -1044,105 +348,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1151,99 +367,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1259,51 +389,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1361,17 +448,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -1401,105 +482,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1508,99 +501,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1616,51 +523,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -1718,17 +582,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -1772,105 +630,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -1879,99 +649,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -1987,51 +671,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2089,17 +730,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -2108,17 +743,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -2174,105 +803,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2281,99 +822,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2389,51 +844,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2493,146 +905,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -2654,105 +937,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -2761,99 +956,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -2869,51 +978,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -2971,17 +1037,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -3011,105 +1071,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3118,99 +1090,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3226,51 +1112,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3328,17 +1171,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3382,105 +1219,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3489,99 +1238,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3597,51 +1260,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -3699,17 +1319,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3718,17 +1332,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -3763,105 +1371,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -3870,99 +1390,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -3978,51 +1412,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4082,146 +1473,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -4243,105 +1505,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4350,99 +1524,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4458,51 +1546,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4560,17 +1605,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -4600,105 +1639,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -4707,99 +1658,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -4815,51 +1680,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -4917,17 +1739,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -4971,105 +1787,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -5078,99 +1806,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -5186,51 +1828,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -5288,17 +1887,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5307,17 +1900,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -5355,15 +1942,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -5446,194 +2030,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -5690,241 +2102,26 @@ "message" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -5946,105 +2143,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6053,99 +2162,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6161,51 +2184,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -6265,146 +2245,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -6426,105 +2277,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6533,99 +2296,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6641,51 +2318,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -6743,17 +2377,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -6783,105 +2411,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -6890,99 +2430,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -6998,51 +2452,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7100,17 +2511,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -7154,105 +2559,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -7261,99 +2578,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -7369,51 +2600,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7471,17 +2659,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -7490,17 +2672,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -7556,105 +2732,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -7663,99 +2751,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -7771,51 +2773,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -7875,146 +2834,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -8036,105 +2866,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8143,99 +2885,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8251,51 +2907,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -8353,17 +2966,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -8393,105 +3000,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8500,99 +3019,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8608,51 +3041,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -8710,17 +3100,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -8764,105 +3148,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -8871,99 +3167,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -8979,51 +3189,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9081,17 +3248,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -9100,17 +3261,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -9145,105 +3300,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -9252,99 +3319,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -9360,51 +3341,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9464,146 +3402,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -9625,105 +3434,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -9732,99 +3453,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -9840,51 +3475,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -9942,17 +3534,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -9982,105 +3568,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -10089,99 +3587,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -10197,51 +3609,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -10299,17 +3668,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10353,105 +3716,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -10460,99 +3735,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -10568,51 +3757,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -10670,17 +3816,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10689,17 +3829,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -10737,15 +3871,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -10828,194 +3959,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -11101,99 +4060,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11206,98 +4082,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11334,17 +4124,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -11414,99 +4200,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11519,98 +4222,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11647,17 +4264,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -11749,99 +4362,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -11854,98 +4384,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -11982,17 +4426,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12102,99 +4542,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12207,98 +4564,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12335,17 +4606,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12415,99 +4682,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12520,98 +4704,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12648,17 +4746,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -12750,99 +4844,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -12855,98 +4866,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -12983,17 +4908,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -13088,241 +5009,26 @@ "message 1" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "payload" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "metric" : { - "title" : null, "description" : "Metric set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -13344,105 +5050,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -13451,99 +5069,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -13559,51 +5091,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -13663,146 +5152,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -13824,105 +5184,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -13931,99 +5203,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14039,51 +5225,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -14141,17 +5284,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -14181,105 +5318,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -14288,99 +5337,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14396,51 +5359,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -14498,17 +5418,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -14552,105 +5466,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -14659,99 +5485,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -14767,51 +5507,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -14869,17 +5566,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -14888,17 +5579,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -14954,105 +5639,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -15061,99 +5658,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -15169,51 +5680,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -15273,146 +5741,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -15434,105 +5773,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -15541,99 +5792,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -15649,51 +5814,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -15751,17 +5873,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -15791,105 +5907,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -15898,99 +5926,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16006,51 +5948,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -16108,17 +6007,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16162,105 +6055,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -16269,99 +6074,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16377,51 +6096,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -16479,17 +6155,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16498,17 +6168,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -16543,105 +6207,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -16650,99 +6226,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -16758,51 +6248,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -16862,146 +6309,17 @@ "traits" : [ { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -17023,105 +6341,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -17130,99 +6360,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -17238,51 +6382,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -17340,17 +6441,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -17380,105 +6475,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -17487,99 +6494,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -17595,51 +6516,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -17697,17 +6575,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -17751,105 +6623,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -17858,99 +6642,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -17966,51 +6664,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -18068,17 +6723,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -18087,17 +6736,11 @@ } } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -18176,8 +6819,7 @@ "httpBasic" : { "type" : "http", "description" : "http", - "scheme" : "basic", - "bearerFormat" : null + "scheme" : "basic" }, "httpBearer" : { "type" : "http", @@ -18278,99 +6920,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -18383,98 +6942,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -18511,17 +6984,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -18614,99 +7083,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -18719,98 +7105,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -18847,17 +7147,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -18894,146 +7190,17 @@ "messageTrait 1" : { "messageId" : "userSignup", "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" }, "applicationInstanceId" : { - "title" : null, "description" : "Unique identifier for a given instance of the publishing application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "correlationId" : { "description" : "Default Correlation ID", @@ -19055,105 +7222,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19162,99 +7241,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -19270,51 +7263,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -19372,17 +7322,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" } ], "externalDocs" : { "description" : "User sign up rules", @@ -19426,105 +7370,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19533,99 +7389,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -19641,51 +7411,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -19743,17 +7470,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -19785,105 +7506,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -19892,99 +7525,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -20000,51 +7547,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", @@ -20102,17 +7606,11 @@ "summary" : "A simple UserSignup example message" } ], "tags" : [ { - "name" : "user", - "description" : null, - "externalDocs" : null + "name" : "user" }, { - "name" : "signup", - "description" : null, - "externalDocs" : null + "name" : "signup" }, { - "name" : "register", - "description" : null, - "externalDocs" : null + "name" : "register" }, { "$ref" : "#/components/tags/tag" } ], @@ -20207,15 +7705,12 @@ }, "googlepubsub" : { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0" @@ -20298,194 +7793,22 @@ "ws" : { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" } @@ -20517,99 +7840,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -20622,98 +7862,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -20750,17 +7904,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -20789,105 +7939,17 @@ }, "anypointmq" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1" }, "googlepubsub" : { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" @@ -20896,99 +7958,13 @@ }, "http" : { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0" }, @@ -21004,51 +7980,8 @@ }, "kafka" : { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json index 9e457c60..e4b609b1 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json @@ -54,99 +54,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -159,98 +76,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -287,17 +118,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -367,99 +194,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -472,98 +216,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -600,17 +258,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -702,99 +356,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -807,98 +378,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -935,17 +420,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json index ea23f270..f5914284 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json @@ -53,99 +53,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -158,98 +75,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -286,17 +117,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -366,99 +193,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -471,98 +215,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -599,17 +257,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] @@ -701,99 +355,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -806,98 +377,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -934,17 +419,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json index b91314eb..5984c9c4 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json @@ -50,99 +50,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -155,98 +72,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -283,17 +114,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json index 57099242..abb0d7a6 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json @@ -49,99 +49,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0" }, @@ -154,98 +71,12 @@ "kafka" : { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] } }, "mercure" : { @@ -282,17 +113,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json index 7857d6b2..8345f9cf 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server - extended.json @@ -9,13 +9,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -35,8 +31,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" } ], "externalDocs" : { "description" : "Find more info here", diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json index 14969aaa..544037d4 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/server/server with reference - extended.json @@ -9,13 +9,9 @@ "variables" : { "username" : { "description" : "This value is assigned by the service provider, in this example `gigantic-server.com`", - "examples" : null, - "enum" : null, "default" : "demo" }, "port" : { - "description" : null, - "examples" : null, "enum" : [ "8883", "8884" ], "default" : "8883" }, @@ -37,8 +33,7 @@ } ], "tags" : [ { "name" : "env:staging", - "description" : "This environment is a replica of the production environment", - "externalDocs" : null + "description" : "This environment is a replica of the production environment" }, { "$ref" : "#/components/tags/tag_name" } ], diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json index 560f8293..2d00b527 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json @@ -1,14 +1,11 @@ { "topic" : "projects/your-project/topics/topic-proto-schema", - "labels" : null, "messageRetentionDuration" : "86400s", "messageStoragePolicy" : { "allowedPersistenceRegions" : [ "us-central1", "us-central2", "us-east1", "us-east4", "us-east5", "us-east7", "us-south1", "us-west1", "us-west2", "us-west3", "us-west4" ] }, "schemaSettings" : { "encoding" : "binary", - "firstRevisionId" : null, - "lastRevisionId" : null, "name" : "projects/your-project/schemas/message-proto" }, "bindingVersion" : "0.1.0", diff --git a/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json index 022ca87a..f0c5c5dc 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/channel/ws/webSocketsChannelBinding - extended.json @@ -1,194 +1,22 @@ { "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "ref" : { - "title" : null, "description" : "Referral.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Authentication" : { - "title" : null, "description" : "Authentication token", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0", "x-number" : 0, diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json index 32f0633d..35dee45d 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/anypointmq/anypointMQMessageBinding - extended.json @@ -1,98 +1,12 @@ { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "correlationId" : { - "title" : null, "description" : "Correlation ID set by application", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, - "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "type" : "string" } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.0.1", "x-number" : 0, diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json index ba8ea89d..e0d383d4 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json @@ -1,6 +1,4 @@ { - "orderingKey" : null, - "attributes" : null, "schema" : { "name" : "projects/your-project/schemas/message-avro", "type" : "avro" diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json index 506a4b29..436e5391 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/http/httpMessageBinding - extended.json @@ -1,98 +1,12 @@ { "headers" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, "properties" : { "Content-Type" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "application/json" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "application/json" ] } - }, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + } }, "bindingVersion" : "0.1.0", "x-number" : 0, diff --git a/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json index 8a8f68ce..380a3d0c 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/message/kafka/kafkaMessageBinding - extended.json @@ -1,50 +1,7 @@ { "key" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myKey" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myKey" ] }, "schemaIdLocation" : "payload", "schemaIdPayloadEncoding" : "apicurio-new", diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json index d114cb25..70152613 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/http/httpOperationBinding - extended.json @@ -2,99 +2,16 @@ "type" : "request", "method" : "GET", "query" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "object", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, "required" : [ "companyId" ], "properties" : { "companyId" : { - "title" : null, "description" : "The Id of the company.", - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "number", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : 1, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "minimum" : 1 } }, - "patternProperties" : null, - "additionalProperties" : false, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : null, - "const" : null, - "if" : null, - "then" : null, - "else" : null + "additionalProperties" : false }, "bindingVersion" : "0.1.0", "x-number" : 0, diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json index 9dbacd7c..c86580a4 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/kafka/kafkaOperationBinding - extended.json @@ -1,98 +1,12 @@ { "bindingVersion" : "0.4.0", "groupId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myGroupId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myGroupId" ] }, "clientId" : { - "title" : null, - "description" : null, - "readOnly" : null, - "writeOnly" : null, - "examples" : null, - "contentEncoding" : null, - "contentMediaType" : null, "type" : "string", - "multipleOf" : null, - "maximum" : null, - "exclusiveMaximum" : null, - "minimum" : null, - "exclusiveMinimum" : null, - "maxLength" : null, - "minLength" : null, - "pattern" : null, - "items" : null, - "additionalItems" : null, - "maxItems" : null, - "minItems" : null, - "uniqueItems" : null, - "contains" : null, - "maxProperties" : null, - "minProperties" : null, - "required" : null, - "properties" : null, - "patternProperties" : null, - "additionalProperties" : null, - "dependencies" : null, - "propertyNames" : null, - "allOf" : null, - "anyOf" : null, - "oneOf" : null, - "not" : null, - "format" : null, - "discriminator" : null, - "externalDocs" : null, - "deprecated" : null, - "default" : null, - "$ref" : null, - "enum" : [ "myClientId" ], - "const" : null, - "if" : null, - "then" : null, - "else" : null + "enum" : [ "myClientId" ] }, "x-number" : 0, "x-string" : "", diff --git a/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json index e8a8ed88..97da1987 100644 --- a/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/binding/operation/solace/solaceOperationBinding - extended.json @@ -8,17 +8,13 @@ "accessType" : "exclusive", "maxMsgSpoolSize" : "1,500", "maxTtl" : "60" - }, - "topic" : null + } }, { "destinationType" : "queue", "deliveryMode" : "persistent", "queue" : { "name" : "UpdatedHREvents", - "topicSubscriptions" : [ "person/*/updated" ], - "accessType" : null, - "maxMsgSpoolSize" : null, - "maxTtl" : null + "topicSubscriptions" : [ "person/*/updated" ] }, "topic" : { "topicSubscriptions" : [ "person/*/updated" ] diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json index f41e4c2c..5477e747 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/http/httpBasic - extended.json @@ -2,7 +2,6 @@ "type" : "http", "description" : "http", "scheme" : "basic", - "bearerFormat" : null, "x-number" : 0, "x-string" : "", "x-object" : { From bd0b8e9c6edc7a9daf04b7a458a57c17ccd83ef1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 5 Oct 2023 23:41:29 +0400 Subject: [PATCH 128/210] refactor(tests): new location for security_scheme test resources --- .../v2/security_scheme/ApiKeySecuritySchemeTest.kt | 6 +++--- .../AsymmetricEncryptionSecuritySchemeTest.kt | 6 +++--- .../v2/security_scheme/GssapiSecuritySchemeTest.kt | 6 +++--- .../OpenIdConnectSecuritySchemeTest.kt | 6 +++--- .../v2/security_scheme/PlainSecuritySchemeTest.kt | 6 +++--- .../security_scheme/ScramSha256SecuritySchemeTest.kt | 6 +++--- .../security_scheme/ScramSha512SecuritySchemeTest.kt | 6 +++--- .../SymmetricEncryptionSecuritySchemeTest.kt | 6 +++--- .../UserPasswordSecuritySchemeTest.kt | 6 +++--- .../v2/security_scheme/X509SecuritySchemeTest.kt | 6 +++--- .../http/HttpApiKeySecuritySchemeTest.kt | 6 +++--- .../security_scheme/http/HttpSecuritySchemeTest.kt | 12 ++++++------ .../oauth2/OAuth2SecuritySchemeTest.kt | 6 +++--- .../v2/security_scheme/oauth2/OAuthFlowTest.kt | 6 +++--- .../oauth2/flow/AuthorizationCodeOAuthFlowTest.kt | 6 +++--- .../oauth2/flow/ClientCredentialsOAuthFlowTest.kt | 6 +++--- .../oauth2/flow/ImplicitOAuthFlowTest.kt | 6 +++--- .../v2/security_scheme/oauth2/flow/OAuthFlowTest.kt | 6 +++--- .../oauth2/flow/PasswordOAuthFlowTest.kt | 6 +++--- .../{ => v2}/security_scheme/X509 - extended.json | 0 .../security_scheme/X509 - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/X509.json | 0 .../{ => v2}/security_scheme/apiKey - extended.json | 0 .../security_scheme/apiKey - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/apiKey.json | 0 .../asymmetricEncryption - extended.json | 0 .../asymmetricEncryption - wrongly extended.json | 0 .../security_scheme/asymmetricEncryption.json | 0 .../{ => v2}/security_scheme/gssapi - extended.json | 0 .../security_scheme/gssapi - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/gssapi.json | 0 .../security_scheme/http/httpApiKey - extended.json | 0 .../http/httpApiKey - wrongly extended.json | 0 .../{ => v2}/security_scheme/http/httpApiKey.json | 0 .../security_scheme/http/httpBasic - extended.json | 0 .../http/httpBasic - wrongly extended.json | 0 .../{ => v2}/security_scheme/http/httpBasic.json | 0 .../security_scheme/http/httpBearer - extended.json | 0 .../http/httpBearer - wrongly extended.json | 0 .../{ => v2}/security_scheme/http/httpBearer.json | 0 .../flow/authorizationCodeOAuthFlow - extended.json | 0 ...uthorizationCodeOAuthFlow - wrongly extended.json | 0 .../oauth2/flow/authorizationCodeOAuthFlow.json | 0 .../flow/clientCredentialsOAuthFlow - extended.json | 0 ...lientCredentialsOAuthFlow - wrongly extended.json | 0 .../oauth2/flow/clientCredentialsOAuthFlow.json | 0 .../oauth2/flow/implicitOAuthFlow - extended.json | 0 .../flow/implicitOAuthFlow - wrongly extended.json | 0 .../oauth2/flow/implicitOAuthFlow.json | 0 .../oauth2/flow/oauthFlow - extended.json | 0 .../oauth2/flow/oauthFlow - wrongly extended.json | 0 .../security_scheme/oauth2/flow/oauthFlow.json | 0 .../oauth2/flow/passwordOAuthFlow - extended.json | 0 .../flow/passwordOAuthFlow - wrongly extended.json | 0 .../oauth2/flow/passwordOAuthFlow.json | 0 .../security_scheme/oauth2/oauth2 - extended.json | 0 .../oauth2/oauth2 - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/oauth2/oauth2.json | 0 .../oauth2/oauthFlows - extended.json | 0 .../oauth2/oauthFlows - wrongly extended.json | 0 .../{ => v2}/security_scheme/oauth2/oauthFlows.json | 0 .../security_scheme/openIdConnect - extended.json | 0 .../openIdConnect - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/openIdConnect.json | 0 .../{ => v2}/security_scheme/plain - extended.json | 0 .../security_scheme/plain - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/plain.json | 0 .../security_scheme/scramSha256 - extended.json | 0 .../scramSha256 - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/scramSha256.json | 0 .../security_scheme/scramSha512 - extended.json | 0 .../scramSha512 - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/scramSha512.json | 0 .../symmetricEncryption - extended.json | 0 .../symmetricEncryption - wrongly extended.json | 0 .../security_scheme/symmetricEncryption.json | 0 .../security_scheme/userPassword - extended.json | 0 .../userPassword - wrongly extended.json | 0 .../json/{ => v2}/security_scheme/userPassword.json | 0 79 files changed, 60 insertions(+), 60 deletions(-) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/X509 - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/X509 - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/X509.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/apiKey - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/apiKey - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/apiKey.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/asymmetricEncryption - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/asymmetricEncryption - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/asymmetricEncryption.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/gssapi - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/gssapi - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/gssapi.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpApiKey - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpApiKey - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpApiKey.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBasic - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBasic - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBasic.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBearer - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBearer - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/http/httpBearer.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/implicitOAuthFlow.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/oauthFlow - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/oauthFlow.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/flow/passwordOAuthFlow.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauth2 - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauth2 - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauth2.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauthFlows - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauthFlows - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/oauth2/oauthFlows.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/openIdConnect - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/openIdConnect - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/openIdConnect.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/plain - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/plain - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/plain.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha256 - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha256 - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha256.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha512 - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha512 - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/scramSha512.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/symmetricEncryption - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/symmetricEncryption - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/symmetricEncryption.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/userPassword - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/userPassword - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/security_scheme/userPassword.json (100%) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt index fa6bdbeb..327f241a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ApiKeySecuritySchemeTest.kt @@ -9,11 +9,11 @@ class ApiKeySecuritySchemeTest: SerDeTest() { override fun objectClass() = ApiKeySecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/apiKey.json" + override fun baseObjectJson() = "/json/v2/security_scheme/apiKey.json" - override fun extendedObjectJson() = "/json/security_scheme/apiKey - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/apiKey - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/apiKey - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/apiKey - wrongly extended.json" override fun build(): SecurityScheme { return ApiKeySecurityScheme.apiKeyBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt index fd7958fb..4ed8707a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/AsymmetricEncryptionSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class AsymmetricEncryptionSecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/asymmetricEncryption.json" + override fun baseObjectJson() = "/json/v2/security_scheme/asymmetricEncryption.json" - override fun extendedObjectJson() = "/json/security_scheme/asymmetricEncryption - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/asymmetricEncryption - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/asymmetricEncryption - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/asymmetricEncryption - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/GssapiSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/GssapiSecuritySchemeTest.kt index 172b11c8..5823f19b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/GssapiSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/GssapiSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class GssapiSecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/gssapi.json" + override fun baseObjectJson() = "/json/v2/security_scheme/gssapi.json" - override fun extendedObjectJson() = "/json/security_scheme/gssapi - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/gssapi - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/gssapi - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/gssapi - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt index 97a08e96..6a9eb726 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/OpenIdConnectSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class OpenIdConnectSecuritySchemeTest: SerDeTest() override fun objectClass() = OpenIdConnectSecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/openIdConnect.json" + override fun baseObjectJson() = "/json/v2/security_scheme/openIdConnect.json" - override fun extendedObjectJson() = "/json/security_scheme/openIdConnect - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/openIdConnect - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/openIdConnect - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/openIdConnect - wrongly extended.json" override fun build(): SecurityScheme { return OpenIdConnectSecurityScheme.openIdBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/PlainSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/PlainSecuritySchemeTest.kt index 6cce170c..4adfd21a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/PlainSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/PlainSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class PlainSecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/plain.json" + override fun baseObjectJson() = "/json/v2/security_scheme/plain.json" - override fun extendedObjectJson() = "/json/security_scheme/plain - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/plain - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/plain - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/plain - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha256SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha256SecuritySchemeTest.kt index 24c1b5f7..d60c5a29 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha256SecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha256SecuritySchemeTest.kt @@ -9,11 +9,11 @@ class ScramSha256SecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/scramSha256.json" + override fun baseObjectJson() = "/json/v2/security_scheme/scramSha256.json" - override fun extendedObjectJson() = "/json/security_scheme/scramSha256 - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/scramSha256 - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/scramSha256 - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/scramSha256 - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha512SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha512SecuritySchemeTest.kt index 6e44502f..de3ea488 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha512SecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/ScramSha512SecuritySchemeTest.kt @@ -9,11 +9,11 @@ class ScramSha512SecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/scramSha512.json" + override fun baseObjectJson() = "/json/v2/security_scheme/scramSha512.json" - override fun extendedObjectJson() = "/json/security_scheme/scramSha512 - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/scramSha512 - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/scramSha512 - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/scramSha512 - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt index 90adcbda..479a88c5 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/SymmetricEncryptionSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class SymmetricEncryptionSecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/symmetricEncryption.json" + override fun baseObjectJson() = "/json/v2/security_scheme/symmetricEncryption.json" - override fun extendedObjectJson() = "/json/security_scheme/symmetricEncryption - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/symmetricEncryption - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/symmetricEncryption - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/symmetricEncryption - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/UserPasswordSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/UserPasswordSecuritySchemeTest.kt index a2eaea5f..59f9ecef 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/UserPasswordSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/UserPasswordSecuritySchemeTest.kt @@ -9,11 +9,11 @@ class UserPasswordSecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/userPassword.json" + override fun baseObjectJson() = "/json/v2/security_scheme/userPassword.json" - override fun extendedObjectJson() = "/json/security_scheme/userPassword - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/userPassword - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/userPassword - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/userPassword - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/X509SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/X509SecuritySchemeTest.kt index 4bf34b00..3a18ab74 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/X509SecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/X509SecuritySchemeTest.kt @@ -9,11 +9,11 @@ class X509SecuritySchemeTest: SerDeTest() { override fun objectClass() = SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/X509.json" + override fun baseObjectJson() = "/json/v2/security_scheme/X509.json" - override fun extendedObjectJson() = "/json/security_scheme/X509 - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/X509 - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/X509 - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/X509 - wrongly extended.json" override fun build(): SecurityScheme { return SecurityScheme.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt index acc8ccc1..9b0a782d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpApiKeySecuritySchemeTest.kt @@ -6,11 +6,11 @@ class HttpApiKeySecuritySchemeTest: SerDeTest() { override fun objectClass() = HttpApiKeySecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/http/httpApiKey.json" + override fun baseObjectJson() = "/json/v2/security_scheme/http/httpApiKey.json" - override fun extendedObjectJson() = "/json/security_scheme/http/httpApiKey - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/http/httpApiKey - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpApiKey - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/http/httpApiKey - wrongly extended.json" override fun build(): HttpApiKeySecurityScheme { return HttpApiKeySecurityScheme.httpApiKeyBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt index da721d92..672d53ab 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/http/HttpSecuritySchemeTest.kt @@ -6,11 +6,11 @@ class HttpSecuritySchemeBasicTest: SerDeTest() { override fun objectClass() = HttpSecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/http/httpBasic.json" + override fun baseObjectJson() = "/json/v2/security_scheme/http/httpBasic.json" - override fun extendedObjectJson() = "/json/security_scheme/http/httpBasic - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/http/httpBasic - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpBasic - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/http/httpBasic - wrongly extended.json" override fun build(): HttpSecurityScheme { return HttpSecurityScheme.httpBuilder() @@ -25,11 +25,11 @@ class HttpSecuritySchemeBearerTest: SerDeTest() { override fun objectClass() = HttpSecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/http/httpBearer.json" + override fun baseObjectJson() = "/json/v2/security_scheme/http/httpBearer.json" - override fun extendedObjectJson() = "/json/security_scheme/http/httpBearer - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/http/httpBearer - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/http/httpBearer - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/http/httpBearer - wrongly extended.json" override fun build(): HttpSecurityScheme { return HttpSecurityScheme.httpBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt index 92a572a1..00c2d19d 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuth2SecuritySchemeTest.kt @@ -10,11 +10,11 @@ class OAuth2SecuritySchemeTest: SerDeTest() { override fun objectClass() = OAuth2SecurityScheme::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/oauth2.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/oauth2.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/oauth2 - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/oauth2 - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/oauth2 - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/oauth2 - wrongly extended.json" override fun build(): SecurityScheme { return OAuth2SecurityScheme.oauth2Builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuthFlowTest.kt index 3d7037fa..1841a203 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/OAuthFlowTest.kt @@ -10,11 +10,11 @@ class OAuthFlowTest: SerDeTest() { override fun objectClass() = OAuthFlows::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/oauthFlows.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/oauthFlows.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/oauthFlows - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/oauthFlows - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/oauthFlows - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/oauthFlows - wrongly extended.json" override fun build(): OAuthFlows { return OAuthFlows.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt index ba33e07f..c71ae840 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt @@ -6,11 +6,11 @@ class AuthorizationCodeOAuthFlowTest: SerDeTest() { override fun objectClass() = AuthorizationCodeOAuthFlow::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json" override fun build(): AuthorizationCodeOAuthFlow { return AuthorizationCodeOAuthFlow.authorizationCodeBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt index 68664468..cca55c8a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt @@ -6,11 +6,11 @@ class ClientCredentialsOAuthFlowTest: SerDeTest() { override fun objectClass() = ClientCredentialsOAuthFlow::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json" override fun build(): ClientCredentialsOAuthFlow { return ClientCredentialsOAuthFlow.clientCredentialsBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt index a63a4b9a..452606d0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/ImplicitOAuthFlowTest.kt @@ -6,11 +6,11 @@ class ImplicitOAuthFlowTest: SerDeTest() { override fun objectClass() = ImplicitOAuthFlow::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/flow/implicitOAuthFlow.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json" override fun build(): ImplicitOAuthFlow { return ImplicitOAuthFlow.implicitBuilder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlowTest.kt index 33849f93..b2dde97b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/OAuthFlowTest.kt @@ -6,11 +6,11 @@ class OAuthFlowTest: SerDeTest() { override fun objectClass() = OAuthFlow::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/flow/oauthFlow.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/flow/oauthFlow.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/flow/oauthFlow - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/oauthFlow - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json" override fun build(): OAuthFlow { return OAuthFlow.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt index 6fee6747..db1013cb 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/security_scheme/oauth2/flow/PasswordOAuthFlowTest.kt @@ -6,11 +6,11 @@ class PasswordOAuthFlowTest: SerDeTest() { override fun objectClass() = PasswordOAuthFlow::class.java - override fun baseObjectJson() = "/json/security_scheme/oauth2/flow/passwordOAuthFlow.json" + override fun baseObjectJson() = "/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow.json" - override fun extendedObjectJson() = "/json/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json" + override fun extendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json" - override fun wronglyExtendedObjectJson() = "/json/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json" override fun build(): PasswordOAuthFlow { return PasswordOAuthFlow.passwordBuilder() diff --git a/asyncapi-core/src/test/resources/json/security_scheme/X509 - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/X509 - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/X509 - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/X509 - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/X509 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/X509 - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/X509 - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/X509 - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/X509.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/X509.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/X509.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/X509.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/apiKey - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/apiKey - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/apiKey - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/apiKey - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/apiKey.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/apiKey.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/apiKey.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/asymmetricEncryption.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/asymmetricEncryption.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/gssapi - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/gssapi - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/gssapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/gssapi - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/gssapi.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/gssapi.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/gssapi.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpApiKey.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpApiKey.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBasic.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBasic.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/http/httpBearer.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/http/httpBearer.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/implicitOAuthFlow.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/implicitOAuthFlow.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/oauthFlow.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/oauthFlow.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/flow/passwordOAuthFlow.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/flow/passwordOAuthFlow.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2 - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2 - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2 - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2 - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2 - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2 - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2 - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauth2.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauth2.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/oauth2/oauthFlows.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/oauth2/oauthFlows.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/openIdConnect - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/openIdConnect - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/openIdConnect - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/openIdConnect - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/openIdConnect.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/openIdConnect.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/openIdConnect.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/plain - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/plain - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/plain - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/plain - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/plain - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/plain - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/plain - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/plain - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/plain.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/plain.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/plain.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/plain.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha256 - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256 - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha256 - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256 - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha256 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256 - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha256 - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256 - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha256.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha256.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha256.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha512 - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512 - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha512 - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512 - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha512 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512 - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha512 - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512 - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/scramSha512.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/scramSha512.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/scramSha512.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/symmetricEncryption.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/symmetricEncryption.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/userPassword - extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/userPassword - extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword - extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/userPassword - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/userPassword - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/security_scheme/userPassword.json b/asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword.json similarity index 100% rename from asyncapi-core/src/test/resources/json/security_scheme/userPassword.json rename to asyncapi-core/src/test/resources/json/v2/security_scheme/userPassword.json From 2425b6022d3bf902d6725f4e0cdffc174907bacd Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 5 Oct 2023 23:44:21 +0400 Subject: [PATCH 129/210] refactor(tests): new location for binding test resources --- .../v2/binding/channel/amqp/AMQPChannelBindingTest.kt | 6 +++--- .../channel/anypointmq/AnypointMQChannelBindingTest.kt | 6 +++--- .../channel/googlepubsub/GooglePubSubChannelBindingTest.kt | 6 +++--- .../v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt | 6 +++--- .../v2/binding/channel/kafka/KafkaChannelBindingTest.kt | 6 +++--- .../v2/binding/channel/pulsar/PulsarChannelBindingTest.kt | 6 +++--- .../v2/binding/channel/ws/WebSocketsChannelBindingTest.kt | 6 +++--- .../v2/binding/message/amqp/AMQPMessageBindingTest.kt | 6 +++--- .../message/anypointmq/AnypointMQMessageBindingTest.kt | 6 +++--- .../message/googlepubsub/GooglePubSubMessageBindingTest.kt | 6 +++--- .../v2/binding/message/http/HTTPMessageBindingTest.kt | 6 +++--- .../v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt | 6 +++--- .../v2/binding/message/kafka/KafkaMessageBindingTest.kt | 6 +++--- .../v2/binding/message/mqtt/MQTTMessageBindingTest.kt | 6 +++--- .../v2/binding/operation/amqp/AMQPOperationBindingTest.kt | 6 +++--- .../v2/binding/operation/http/HTTPOperationBindingTest.kt | 6 +++--- .../v2/binding/operation/kafka/KafkaOperationBindingTest.kt | 6 +++--- .../v2/binding/operation/mqtt/MQTTOperationBindingTest.kt | 6 +++--- .../v2/binding/operation/nats/NATSOperationBindingTest.kt | 6 +++--- .../binding/operation/solace/SolaceOperationBindingTest.kt | 6 +++--- .../v2/binding/server/ibmmq/IBMMQServerBindingTest.kt | 6 +++--- .../v2/binding/server/kafka/KafkaServerBindingTest.kt | 6 +++--- .../v2/binding/server/mqtt/MQTTServerBindingTest.kt | 6 +++--- .../v2/binding/server/mqtt5/MQTT5ServerBindingTest.kt | 6 +++--- .../v2/binding/server/pulsar/PulsarServerBindingTest.kt | 6 +++--- .../v2/binding/server/solace/SolaceServerBindingTest.kt | 6 +++--- .../binding/channel/amqp/amqpChannelBinding - extended.json | 0 .../channel/amqp/amqpChannelBinding - wrongly extended.json | 0 .../{ => v2}/binding/channel/amqp/amqpChannelBinding.json | 0 .../anypoint/anypointMQChannelBinding - extended.json | 0 .../anypointMQChannelBinding - wrongly extended.json | 0 .../binding/channel/anypoint/anypointMQChannelBinding.json | 0 .../googlepubsub/googlePubSubChannelBinding - extended.json | 0 .../googlePubSubChannelBinding - wrongly extended.json | 0 .../channel/googlepubsub/googlePubSubChannelBinding.json | 0 .../channel/ibmmq/ibmMQChannelBinding - extended.json | 0 .../ibmmq/ibmMQChannelBinding - wrongly extended.json | 0 .../{ => v2}/binding/channel/ibmmq/ibmMQChannelBinding.json | 0 .../channel/kafka/kafkaChannelBinding - extended.json | 0 .../kafka/kafkaChannelBinding - wrongly extended.json | 0 .../{ => v2}/binding/channel/kafka/kafkaChannelBinding.json | 0 .../channel/pulsar/pulsarChannelBinding - extended.json | 0 .../pulsar/pulsarChannelBinding - wrongly extended.json | 0 .../binding/channel/pulsar/pulsarChannelBinding.json | 0 .../channel/ws/webSocketsChannelBinding - extended.json | 0 .../ws/webSocketsChannelBinding - wrongly extended.json | 0 .../binding/channel/ws/webSocketsChannelBinding.json | 0 .../binding/message/amqp/amqpMessageBinding - extended.json | 0 .../message/amqp/amqpMessageBinding - wrongly extended.json | 0 .../{ => v2}/binding/message/amqp/amqpMessageBinding.json | 0 .../anypointmq/anypointMQMessageBinding - extended.json | 0 .../anypointMQMessageBinding - wrongly extended.json | 0 .../message/anypointmq/anypointMQMessageBinding.json | 0 .../googlepubsub/googlePubSubMessageBinding - extended.json | 0 .../googlePubSubMessageBinding - wrongly extended.json | 0 .../message/googlepubsub/googlePubSubMessageBinding.json | 0 .../binding/message/http/httpMessageBinding - extended.json | 0 .../message/http/httpMessageBinding - wrongly extended.json | 0 .../{ => v2}/binding/message/http/httpMessageBinding.json | 0 .../message/ibmmq/ibmMQMessageBinding - extended.json | 0 .../ibmmq/ibmMQMessageBinding - wrongly extended.json | 0 .../{ => v2}/binding/message/ibmmq/ibmMQMessageBinding.json | 0 .../message/kafka/kafkaMessageBinding - extended.json | 0 .../kafka/kafkaMessageBinding - wrongly extended.json | 0 .../{ => v2}/binding/message/kafka/kafkaMessageBinding.json | 0 .../binding/message/mqtt/mqttMessageBinding - extended.json | 0 .../message/mqtt/mqttMessageBinding - wrongly extended.json | 0 .../{ => v2}/binding/message/mqtt/mqttMessageBinding.json | 0 .../operation/amqp/amqpOperationBinding - extended.json | 0 .../amqp/amqpOperationBinding - wrongly extended.json | 0 .../binding/operation/amqp/amqpOperationBinding.json | 0 .../operation/http/httpOperationBinding - extended.json | 0 .../http/httpOperationBinding - wrongly extended.json | 0 .../binding/operation/http/httpOperationBinding.json | 0 .../operation/kafka/kafkaOperationBinding - extended.json | 0 .../kafka/kafkaOperationBinding - wrongly extended.json | 0 .../binding/operation/kafka/kafkaOperationBinding.json | 0 .../operation/mqtt/mqttOperationBinding - extended.json | 0 .../mqtt/mqttOperationBinding - wrongly extended.json | 0 .../binding/operation/mqtt/mqttOperationBinding.json | 0 .../operation/nats/natsOperationBinding - extended.json | 0 .../nats/natsOperationBinding - wrongly extended.json | 0 .../binding/operation/nats/natsOperationBinding.json | 0 .../operation/solace/solaceOperationBinding - extended.json | 0 .../solace/solaceOperationBinding - wrongly extended.json | 0 .../binding/operation/solace/solaceOperationBinding.json | 0 .../binding/server/ibmmq/ibmmqServerBinding - extended.json | 0 .../server/ibmmq/ibmmqServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/ibmmq/ibmmqServerBinding.json | 0 .../binding/server/kafka/kafkaServerBinding - extended.json | 0 .../server/kafka/kafkaServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/kafka/kafkaServerBinding.json | 0 .../binding/server/mqtt/mqttServerBinding - extended.json | 0 .../server/mqtt/mqttServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/mqtt/mqttServerBinding.json | 0 .../binding/server/mqtt5/mqtt5ServerBinding - extended.json | 0 .../server/mqtt5/mqtt5ServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/mqtt5/mqtt5ServerBinding.json | 0 .../server/pulsar/pulsarServerBinding - extended.json | 0 .../pulsar/pulsarServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/pulsar/pulsarServerBinding.json | 0 .../server/solace/solaceServerBinding - extended.json | 0 .../solace/solaceServerBinding - wrongly extended.json | 0 .../{ => v2}/binding/server/solace/solaceServerBinding.json | 0 104 files changed, 78 insertions(+), 78 deletions(-) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/amqp/amqpChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/amqp/amqpChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/amqp/amqpChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/anypoint/anypointMQChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/anypoint/anypointMQChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/googlepubsub/googlePubSubChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ibmmq/ibmMQChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ibmmq/ibmMQChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/kafka/kafkaChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/kafka/kafkaChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/pulsar/pulsarChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/pulsar/pulsarChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ws/webSocketsChannelBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/channel/ws/webSocketsChannelBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/amqp/amqpMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/amqp/amqpMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/amqp/amqpMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/anypointmq/anypointMQMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/anypointmq/anypointMQMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/googlepubsub/googlePubSubMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/http/httpMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/http/httpMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/http/httpMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/ibmmq/ibmMQMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/ibmmq/ibmMQMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/kafka/kafkaMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/kafka/kafkaMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/kafka/kafkaMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/mqtt/mqttMessageBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/mqtt/mqttMessageBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/message/mqtt/mqttMessageBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/amqp/amqpOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/amqp/amqpOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/amqp/amqpOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/http/httpOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/http/httpOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/http/httpOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/kafka/kafkaOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/kafka/kafkaOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/mqtt/mqttOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/mqtt/mqttOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/nats/natsOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/nats/natsOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/nats/natsOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/solace/solaceOperationBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/solace/solaceOperationBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/operation/solace/solaceOperationBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/ibmmq/ibmmqServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/ibmmq/ibmmqServerBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/kafka/kafkaServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/kafka/kafkaServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/kafka/kafkaServerBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt/mqttServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt/mqttServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt/mqttServerBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt5/mqtt5ServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/mqtt5/mqtt5ServerBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/pulsar/pulsarServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/pulsar/pulsarServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/pulsar/pulsarServerBinding.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/solace/solaceServerBinding - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/solace/solaceServerBinding - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/binding/server/solace/solaceServerBinding.json (100%) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt index f89a520a..7ac5f187 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/amqp/AMQPChannelBindingTest.kt @@ -13,11 +13,11 @@ class AMQPChannelBindingTest: SerDeTest() { override fun objectClass() = AMQPChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/amqp/amqpChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/amqp/amqpChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/amqp/amqpChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/amqp/amqpChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/amqp/amqpChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/amqp/amqpChannelBinding - wrongly extended.json" override fun build(): AMQPChannelBinding { return AMQPChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt index 96d93f92..57b0626c 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/anypointmq/AnypointMQChannelBindingTest.kt @@ -10,11 +10,11 @@ class AnypointMQChannelBindingTest: SerDeTest() { override fun objectClass() = AnypointMQChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/anypoint/anypointMQChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/anypoint/anypointMQChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/anypoint/anypointMQChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/anypoint/anypointMQChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json" override fun build(): AnypointMQChannelBinding { return AnypointMQChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt index bde82173..3f3c180b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/googlepubsub/GooglePubSubChannelBindingTest.kt @@ -6,11 +6,11 @@ class GooglePubSubChannelBindingTest: SerDeTest() { override fun objectClass() = GooglePubSubChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/googlepubsub/googlePubSubChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json" override fun build(): GooglePubSubChannelBinding { return GooglePubSubChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt index 62e4a4a6..5d6a9f87 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ibmmq/IBMMQChannelBindingTest.kt @@ -6,11 +6,11 @@ class IBMMQChannelBindingTest: SerDeTest() { override fun objectClass() = IBMMQChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/ibmmq/ibmMQChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/ibmmq/ibmMQChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/ibmmq/ibmMQChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json" override fun build(): IBMMQChannelBinding { return IBMMQChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt index b0ebffa0..98502a4f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/kafka/KafkaChannelBindingTest.kt @@ -10,11 +10,11 @@ class KafkaChannelBindingTest: SerDeTest() { override fun objectClass() = KafkaChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/kafka/kafkaChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/kafka/kafkaChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/kafka/kafkaChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/kafka/kafkaChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json" override fun build(): KafkaChannelBinding { return KafkaChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt index 9b502808..7d7f7b85 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/pulsar/PulsarChannelBindingTest.kt @@ -6,11 +6,11 @@ class PulsarChannelBindingTest: SerDeTest() { override fun objectClass() = PulsarChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/pulsar/pulsarChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/pulsar/pulsarChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/pulsar/pulsarChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/pulsar/pulsarChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json" override fun build(): PulsarChannelBinding { return PulsarChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt index 6588029c..252a01b9 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/channel/ws/WebSocketsChannelBindingTest.kt @@ -12,11 +12,11 @@ class WebSocketsChannelBindingTest: SerDeTest() { override fun objectClass() = WebSocketsChannelBinding::class.java - override fun baseObjectJson() = "/json/binding/channel/ws/webSocketsChannelBinding.json" + override fun baseObjectJson() = "/json/v2/binding/channel/ws/webSocketsChannelBinding.json" - override fun extendedObjectJson() = "/json/binding/channel/ws/webSocketsChannelBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/channel/ws/webSocketsChannelBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json" override fun build(): WebSocketsChannelBinding { return WebSocketsChannelBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/amqp/AMQPMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/amqp/AMQPMessageBindingTest.kt index 92562838..baa183c2 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/amqp/AMQPMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/amqp/AMQPMessageBindingTest.kt @@ -6,11 +6,11 @@ class AMQPMessageBindingTest: SerDeTest() { override fun objectClass() = AMQPMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/amqp/amqpMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/amqp/amqpMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/amqp/amqpMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/amqp/amqpMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/amqp/amqpMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/amqp/amqpMessageBinding - wrongly extended.json" override fun build(): AMQPMessageBinding { return AMQPMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt index 24f94596..83a254e9 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/anypointmq/AnypointMQMessageBindingTest.kt @@ -8,11 +8,11 @@ class AnypointMQMessageBindingTest: SerDeTest() { override fun objectClass() = AnypointMQMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/anypointmq/anypointMQMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/anypointmq/anypointMQMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/anypointmq/anypointMQMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json" override fun build(): AnypointMQMessageBinding { return AnypointMQMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt index 99e10dcb..ca4354aa 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/googlepubsub/GooglePubSubMessageBindingTest.kt @@ -6,11 +6,11 @@ class GooglePubSubMessageBindingTest: SerDeTest() { override fun objectClass() = GooglePubSubMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/googlepubsub/googlePubSubMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json" override fun build(): GooglePubSubMessageBinding { return GooglePubSubMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt index 3db85b16..8c616f2c 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/http/HTTPMessageBindingTest.kt @@ -8,11 +8,11 @@ class HTTPMessageBindingTest: SerDeTest() { override fun objectClass() = HTTPMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/http/httpMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/http/httpMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/http/httpMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/http/httpMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/http/httpMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/http/httpMessageBinding - wrongly extended.json" override fun build(): HTTPMessageBinding { return HTTPMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt index 43661874..f190262f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/ibmmq/IBMMQMessageBindingTest.kt @@ -6,11 +6,11 @@ class IBMMQMessageBindingTest: SerDeTest() { override fun objectClass() = IBMMQMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/ibmmq/ibmMQMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/ibmmq/ibmMQMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/ibmmq/ibmMQMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/ibmmq/ibmMQMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json" override fun build(): IBMMQMessageBinding { return IBMMQMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt index d54e8f3b..7180234b 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/kafka/KafkaMessageBindingTest.kt @@ -8,11 +8,11 @@ class KafkaMessageBindingTest: SerDeTest() { override fun objectClass() = KafkaMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/kafka/kafkaMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/kafka/kafkaMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/kafka/kafkaMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/kafka/kafkaMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/kafka/kafkaMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/kafka/kafkaMessageBinding - wrongly extended.json" override fun build(): KafkaMessageBinding { return KafkaMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBindingTest.kt index a565bb3d..43791dd2 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/message/mqtt/MQTTMessageBindingTest.kt @@ -6,11 +6,11 @@ class MQTTMessageBindingTest: SerDeTest() { override fun objectClass() = MQTTMessageBinding::class.java - override fun baseObjectJson() = "/json/binding/message/mqtt/mqttMessageBinding.json" + override fun baseObjectJson() = "/json/v2/binding/message/mqtt/mqttMessageBinding.json" - override fun extendedObjectJson() = "/json/binding/message/mqtt/mqttMessageBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/message/mqtt/mqttMessageBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/message/mqtt/mqttMessageBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/message/mqtt/mqttMessageBinding - wrongly extended.json" override fun build(): MQTTMessageBinding { return MQTTMessageBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBindingTest.kt index e395644f..b62375d4 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/amqp/AMQPOperationBindingTest.kt @@ -6,11 +6,11 @@ class AMQPOperationBindingTest: SerDeTest() { override fun objectClass() = AMQPOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/amqp/amqpOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/amqp/amqpOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/amqp/amqpOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/amqp/amqpOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/amqp/amqpOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/amqp/amqpOperationBinding - wrongly extended.json" override fun build(): AMQPOperationBinding { return AMQPOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt index 0b568a12..afe6cedd 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/http/HTTPOperationBindingTest.kt @@ -9,11 +9,11 @@ class HTTPOperationBindingTest: SerDeTest() { override fun objectClass() = HTTPOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/http/httpOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/http/httpOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/http/httpOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/http/httpOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/http/httpOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/http/httpOperationBinding - wrongly extended.json" override fun build(): HTTPOperationBinding { return HTTPOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt index b32ea5e0..3fc84ea6 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/kafka/KafkaOperationBindingTest.kt @@ -8,11 +8,11 @@ class KafkaOperationBindingTest: SerDeTest() { override fun objectClass() = KafkaOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/kafka/kafkaOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/kafka/kafkaOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/kafka/kafkaOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/kafka/kafkaOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json" override fun build(): KafkaOperationBinding { return KafkaOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBindingTest.kt index e0af0722..9bba70c1 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/mqtt/MQTTOperationBindingTest.kt @@ -6,11 +6,11 @@ class MQTTOperationBindingTest: SerDeTest() { override fun objectClass() = MQTTOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/mqtt/mqttOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/mqtt/mqttOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/mqtt/mqttOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/mqtt/mqttOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json" override fun build(): MQTTOperationBinding { return MQTTOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/nats/NATSOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/nats/NATSOperationBindingTest.kt index cae3cb10..9c2991a6 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/nats/NATSOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/nats/NATSOperationBindingTest.kt @@ -6,11 +6,11 @@ class NATSOperationBindingTest: SerDeTest() { override fun objectClass() = NATSOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/nats/natsOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/nats/natsOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/nats/natsOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/nats/natsOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/nats/natsOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/nats/natsOperationBinding - wrongly extended.json" override fun build(): NATSOperationBinding { return NATSOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt index f3afbf45..f62962ad 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/operation/solace/SolaceOperationBindingTest.kt @@ -8,11 +8,11 @@ class SolaceOperationBindingTest: SerDeTest() { override fun objectClass() = SolaceOperationBinding::class.java - override fun baseObjectJson() = "/json/binding/operation/solace/solaceOperationBinding.json" + override fun baseObjectJson() = "/json/v2/binding/operation/solace/solaceOperationBinding.json" - override fun extendedObjectJson() = "/json/binding/operation/solace/solaceOperationBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/operation/solace/solaceOperationBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/operation/solace/solaceOperationBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/operation/solace/solaceOperationBinding - wrongly extended.json" override fun build(): SolaceOperationBinding { return SolaceOperationBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBindingTest.kt index 4f1aab9b..8c73a5ab 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/ibmmq/IBMMQServerBindingTest.kt @@ -10,11 +10,11 @@ class IBMMQServerBindingTest: SerDeTest() { override fun objectClass() = IBMMQServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/ibmmq/ibmmqServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/ibmmq/ibmmqServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/ibmmq/ibmmqServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/ibmmq/ibmmqServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json" override fun build(): IBMMQServerBinding { return IBMMQServerBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/kafka/KafkaServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/kafka/KafkaServerBindingTest.kt index 56a324bd..0e9910ce 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/kafka/KafkaServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/kafka/KafkaServerBindingTest.kt @@ -10,11 +10,11 @@ class KafkaServerBindingTest: SerDeTest() { override fun objectClass() = KafkaServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/kafka/kafkaServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/kafka/kafkaServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/kafka/kafkaServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/kafka/kafkaServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/kafka/kafkaServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/kafka/kafkaServerBinding - wrongly extended.json" override fun build(): KafkaServerBinding { return KafkaServerBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt index 4023b197..de06a9eb 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt/MQTTServerBindingTest.kt @@ -10,11 +10,11 @@ class MQTTServerBindingTest: SerDeTest() { override fun objectClass() = MQTTServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/mqtt/mqttServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/mqtt/mqttServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/mqtt/mqttServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/mqtt/mqttServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/mqtt/mqttServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/mqtt/mqttServerBinding - wrongly extended.json" override fun build(): MQTTServerBinding { return MQTTServerBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt5/MQTT5ServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt5/MQTT5ServerBindingTest.kt index 88145034..a80e4af4 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt5/MQTT5ServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/mqtt5/MQTT5ServerBindingTest.kt @@ -10,11 +10,11 @@ class MQTT5ServerBindingTest: SerDeTest() { override fun objectClass() = MQTT5ServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/mqtt5/mqtt5ServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/mqtt5/mqtt5ServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/mqtt5/mqtt5ServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/mqtt5/mqtt5ServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json" override fun build(): MQTT5ServerBinding { return MQTT5ServerBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/pulsar/PulsarServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/pulsar/PulsarServerBindingTest.kt index d5ada220..869986ea 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/pulsar/PulsarServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/pulsar/PulsarServerBindingTest.kt @@ -10,11 +10,11 @@ class PulsarServerBindingTest: SerDeTest() { override fun objectClass() = PulsarServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/pulsar/pulsarServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/pulsar/pulsarServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/pulsar/pulsarServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/pulsar/pulsarServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/pulsar/pulsarServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/pulsar/pulsarServerBinding - wrongly extended.json" override fun build(): PulsarServerBinding { return PulsarServerBinding.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/solace/SolaceServerBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/solace/SolaceServerBindingTest.kt index 4e4d1244..f02c7394 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/solace/SolaceServerBindingTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/binding/server/solace/SolaceServerBindingTest.kt @@ -10,11 +10,11 @@ class SolaceServerBindingTest: SerDeTest() { override fun objectClass() = SolaceServerBinding::class.java - override fun baseObjectJson() = "/json/binding/server/solace/solaceServerBinding.json" + override fun baseObjectJson() = "/json/v2/binding/server/solace/solaceServerBinding.json" - override fun extendedObjectJson() = "/json/binding/server/solace/solaceServerBinding - extended.json" + override fun extendedObjectJson() = "/json/v2/binding/server/solace/solaceServerBinding - extended.json" - override fun wronglyExtendedObjectJson() = "/json/binding/server/solace/solaceServerBinding - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/binding/server/solace/solaceServerBinding - wrongly extended.json" override fun build(): SolaceServerBinding { return SolaceServerBinding.builder() diff --git a/asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/amqp/amqpChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/amqp/amqpChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/anypoint/anypointMQChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/anypoint/anypointMQChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/googlepubsub/googlePubSubChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/googlepubsub/googlePubSubChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ibmmq/ibmMQChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ibmmq/ibmMQChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/kafka/kafkaChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/kafka/kafkaChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/pulsar/pulsarChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/pulsar/pulsarChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/channel/ws/webSocketsChannelBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/channel/ws/webSocketsChannelBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/amqp/amqpMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/amqp/amqpMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/anypointmq/anypointMQMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/anypointmq/anypointMQMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/googlepubsub/googlePubSubMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/googlepubsub/googlePubSubMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/http/httpMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/http/httpMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/ibmmq/ibmMQMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/ibmmq/ibmMQMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/kafka/kafkaMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/kafka/kafkaMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/message/mqtt/mqttMessageBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/message/mqtt/mqttMessageBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/amqp/amqpOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/amqp/amqpOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/http/httpOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/http/httpOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/kafka/kafkaOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/kafka/kafkaOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/mqtt/mqttOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/mqtt/mqttOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/nats/natsOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/nats/natsOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/operation/solace/solaceOperationBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/operation/solace/solaceOperationBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/ibmmq/ibmmqServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/ibmmq/ibmmqServerBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/kafka/kafkaServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/kafka/kafkaServerBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt/mqttServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt/mqttServerBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/mqtt5/mqtt5ServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/mqtt5/mqtt5ServerBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/pulsar/pulsarServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/pulsar/pulsarServerBinding.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding - extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding - extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding - extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding.json b/asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding.json similarity index 100% rename from asyncapi-core/src/test/resources/json/binding/server/solace/solaceServerBinding.json rename to asyncapi-core/src/test/resources/json/v2/binding/server/solace/solaceServerBinding.json From 944f338bdcbceb27b7c8d34a4a720e2d853731e2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 6 Oct 2023 00:02:19 +0400 Subject: [PATCH 130/210] refactor(tests): new location for 2.0.0 test resources --- .../com/asyncapi/v2/_0_0/model/AsyncAPITest.kt | 6 +++--- .../v2/_0_0/model/ExternalDocumentationTest.kt | 6 +++--- .../com/asyncapi/v2/_0_0/model/ReferenceTest.kt | 2 +- .../kotlin/com/asyncapi/v2/_0_0/model/TagTest.kt | 6 +++--- .../v2/_0_0/model/channel/ChannelItemTest.kt | 6 +++--- .../asyncapi/v2/_0_0/model/channel/ParameterTest.kt | 6 +++--- .../_0_0/model/channel/message/CorrelationIdTest.kt | 6 +++--- .../v2/_0_0/model/channel/message/MessageTest.kt | 6 +++--- .../_0_0/model/channel/message/MessageTraitTest.kt | 6 +++--- .../v2/_0_0/model/channel/operation/OperationTest.kt | 12 ++++++------ .../model/channel/operation/OperationTraitTest.kt | 6 +++--- .../v2/_0_0/model/component/ComponentsTest.kt | 6 +++--- .../com/asyncapi/v2/_0_0/model/info/ContactTest.kt | 6 +++--- .../com/asyncapi/v2/_0_0/model/info/InfoTest.kt | 6 +++--- .../com/asyncapi/v2/_0_0/model/info/LicenseTest.kt | 6 +++--- .../com/asyncapi/v2/_0_0/model/server/ServerTest.kt | 6 +++--- .../v2/_0_0/model/server/ServerVariableTest.kt | 6 +++--- .../{ => v2}/2.0.0/model/asyncapi - extended.json | 0 .../2.0.0/model/asyncapi - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/asyncapi.json | 0 .../json/{ => v2}/2.0.0/model/channel/channel.json | 0 .../2.0.0/model/channel/channelItem - extended.json | 0 .../channel/channelItem - wrongly extended.json | 0 .../{ => v2}/2.0.0/model/channel/channelItem.json | 0 .../channel/message/correlationId - extended.json | 0 .../message/correlationId - wrongly extended.json | 0 .../2.0.0/model/channel/message/correlationId.json | 0 .../model/channel/message/message - extended.json | 0 .../channel/message/message - wrongly extended.json | 0 .../2.0.0/model/channel/message/message.json | 0 .../channel/message/messageTrait - extended.json | 0 .../message/messageTrait - wrongly extended.json | 0 .../2.0.0/model/channel/message/messageTrait.json | 0 .../operation/operation with message - extended.json | 0 .../operation with message - wrongly extended.json | 0 .../channel/operation/operation with message.json | 0 ...eration with reference to message - extended.json | 0 ...with reference to message - wrongly extended.json | 0 .../operation with reference to message.json | 0 .../channel/operation/operationTrait - extended.json | 0 .../operation/operationTrait - wrongly extended.json | 0 .../model/channel/operation/operationTrait.json | 0 .../2.0.0/model/channel/parameter - extended.json | 0 .../model/channel/parameter - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/channel/parameter.json | 0 .../model/components/components - extended.json | 0 .../components/components - wrongly extended.json | 0 .../{ => v2}/2.0.0/model/components/components.json | 0 .../model/externalDocumentation - extended.json | 0 .../externalDocumentation - wrongly extended.json | 0 .../{ => v2}/2.0.0/model/externalDocumentation.json | 0 .../2.0.0/model/info/contact - extended.json | 0 .../2.0.0/model/info/contact - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/info/contact.json | 0 .../{ => v2}/2.0.0/model/info/info - extended.json | 0 .../2.0.0/model/info/info - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/info/info.json | 0 .../2.0.0/model/info/license - extended.json | 0 .../2.0.0/model/info/license - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/info/license.json | 0 .../json/{ => v2}/2.0.0/model/reference.json | 0 .../2.0.0/model/server/server - extended.json | 0 .../model/server/server - wrongly extended.json | 0 .../json/{ => v2}/2.0.0/model/server/server.json | 0 .../model/server/serverVariable - extended.json | 0 .../server/serverVariable - wrongly extended.json | 0 .../{ => v2}/2.0.0/model/server/serverVariable.json | 0 .../json/{ => v2}/2.0.0/model/tag - extended.json | 0 .../{ => v2}/2.0.0/model/tag - wrongly extended.json | 0 .../resources/json/{ => v2}/2.0.0/model/tag.json | 0 70 files changed, 52 insertions(+), 52 deletions(-) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/asyncapi - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/asyncapi - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/asyncapi.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/channel.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/channelItem - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/channelItem - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/channelItem.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/correlationId - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/correlationId - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/correlationId.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/messageTrait - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/messageTrait - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/message/messageTrait.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with reference to message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operation with reference to message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operationTrait - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operationTrait - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/operation/operationTrait.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/parameter - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/parameter - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/channel/parameter.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/components/components - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/components/components - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/components/components.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/externalDocumentation - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/externalDocumentation - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/externalDocumentation.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/contact - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/contact - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/contact.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/info - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/info - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/info.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/license - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/license - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/info/license.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/reference.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/server - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/server - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/server.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/serverVariable - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/serverVariable - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/server/serverVariable.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/tag - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/tag - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.0.0/model/tag.json (100%) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/AsyncAPITest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/AsyncAPITest.kt index dcc8e411..ea9fd0c1 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/AsyncAPITest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/AsyncAPITest.kt @@ -13,11 +13,11 @@ class AsyncAPITest: SerDeTest() { override fun objectClass() = AsyncAPI::class.java - override fun baseObjectJson() = "/json/2.0.0/model/asyncapi.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/asyncapi.json" - override fun extendedObjectJson() = "/json/2.0.0/model/asyncapi - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/asyncapi - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/asyncapi - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/asyncapi - wrongly extended.json" override fun build(): AsyncAPI { return AsyncAPI( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ExternalDocumentationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ExternalDocumentationTest.kt index f1951086..c6b51a18 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ExternalDocumentationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ExternalDocumentationTest.kt @@ -9,11 +9,11 @@ class ExternalDocumentationTest: SerDeTest() { override fun objectClass() = ExternalDocumentation::class.java - override fun baseObjectJson() = "/json/2.0.0/model/externalDocumentation.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/externalDocumentation.json" - override fun extendedObjectJson() = "/json/2.0.0/model/externalDocumentation - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/externalDocumentation - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/externalDocumentation - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/externalDocumentation - wrongly extended.json" override fun build(): ExternalDocumentation { return ExternalDocumentation( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt index 5620f4c6..e5075e24 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/ReferenceTest.kt @@ -14,7 +14,7 @@ class ReferenceTest { @Test @DisplayName("Compare hand crafted model with parsed json") fun compareModelWithParsedJson() { - val model = ClasspathUtils.readAsString("/json/2.0.0/model/reference.json") + val model = ClasspathUtils.readAsString("/json/v2/2.0.0/model/reference.json") Assertions.assertEquals( objectMapper.readValue(model, Reference::class.java), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/TagTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/TagTest.kt index c700d28f..9e44b483 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/TagTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/TagTest.kt @@ -9,11 +9,11 @@ class TagTest: SerDeTest() { override fun objectClass() = Tag::class.java - override fun baseObjectJson() = "/json/2.0.0/model/tag.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/tag.json" - override fun extendedObjectJson() = "/json/2.0.0/model/tag - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/tag - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/tag - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/tag - wrongly extended.json" override fun build(): Tag { return Tag( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt index 8f6b7322..64d42f9a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt @@ -29,11 +29,11 @@ class ChannelItemTest: SerDeTest() { override fun objectClass() = ChannelItem::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/channelItem.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/channelItem.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/channelItem - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/channelItem - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/channelItem - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/channelItem - wrongly extended.json" override fun build(): ChannelItem { val subscribe = OperationWithReferenceToMessageTest().build() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ParameterTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ParameterTest.kt index c6e0ebb6..d0fb8dfa 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ParameterTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ParameterTest.kt @@ -10,11 +10,11 @@ class ParameterTest: SerDeTest() { override fun objectClass() = Parameter::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/parameter.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/parameter.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/parameter - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/parameter - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/parameter - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/parameter - wrongly extended.json" override fun build(): Parameter { return Parameter.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/CorrelationIdTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/CorrelationIdTest.kt index 472764f2..ec179bdc 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/CorrelationIdTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/CorrelationIdTest.kt @@ -9,11 +9,11 @@ class CorrelationIdTest: SerDeTest() { override fun objectClass() = CorrelationId::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/message/correlationId.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/message/correlationId.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/message/correlationId - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/message/correlationId - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/message/correlationId - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/message/correlationId - wrongly extended.json" override fun build(): CorrelationId { return CorrelationId.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt index cf119d6d..bf0043dd 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt @@ -33,11 +33,11 @@ class MessageTest: SerDeTest() { override fun objectClass() = Message::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/message/message.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/message/message.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/message/message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/message/message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/message/message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/message/message - wrongly extended.json" override fun build(): Message { return Message.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt index 05d5d666..359fd0e4 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt @@ -31,11 +31,11 @@ class MessageTraitTest: SerDeTest() { override fun objectClass() = MessageTrait::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/message/messageTrait.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/message/messageTrait.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/message/messageTrait - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/message/messageTrait - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/message/messageTrait - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/message/messageTrait - wrongly extended.json" override fun build(): MessageTrait { return MessageTrait.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt index 041055ed..470e1b24 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTest.kt @@ -33,11 +33,11 @@ class OperationWithReferenceToMessageTest: SerDeTest() { override fun objectClass() = Operation::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/operation/operation with reference to message.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with reference to message.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/operation/operation with reference to message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with reference to message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json" override fun build(): Operation { return Operation.builder() @@ -67,11 +67,11 @@ class OperationWithMessageTest: SerDeTest() { override fun objectClass() = Operation::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/operation/operation with message.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with message.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/operation/operation with message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operation with message - wrongly extended.json" override fun build(): Operation { return Operation.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTraitTest.kt index 01d0400f..39eee0b2 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/operation/OperationTraitTest.kt @@ -30,11 +30,11 @@ class OperationTraitTest: SerDeTest() { override fun objectClass() = OperationTrait::class.java - override fun baseObjectJson() = "/json/2.0.0/model/channel/operation/operationTrait.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/channel/operation/operationTrait.json" - override fun extendedObjectJson() = "/json/2.0.0/model/channel/operation/operationTrait - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operationTrait - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/channel/operation/operationTrait - wrongly extended.json" override fun build(): OperationTrait { return OperationTrait.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt index 3a3eb3c5..630ef078 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/component/ComponentsTest.kt @@ -26,11 +26,11 @@ class ComponentsTest: SerDeTest() { override fun objectClass() = Components::class.java - override fun baseObjectJson() = "/json/2.0.0/model/components/components.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/components/components.json" - override fun extendedObjectJson() = "/json/2.0.0/model/components/components - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/components/components - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/components/components - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/components/components - wrongly extended.json" override fun build(): Components { return Components.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/ContactTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/ContactTest.kt index 1bbe0338..8246489a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/ContactTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/ContactTest.kt @@ -9,11 +9,11 @@ class ContactTest: SerDeTest() { override fun objectClass() = Contact::class.java - override fun baseObjectJson() = "/json/2.0.0/model/info/contact.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/info/contact.json" - override fun extendedObjectJson() = "/json/2.0.0/model/info/contact - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/info/contact - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/info/contact - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/info/contact - wrongly extended.json" override fun build(): Contact { return Contact( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/InfoTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/InfoTest.kt index 2dbb390d..54e284e1 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/InfoTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/InfoTest.kt @@ -9,11 +9,11 @@ class InfoTest: SerDeTest() { override fun objectClass() = Info::class.java - override fun baseObjectJson() = "/json/2.0.0/model/info/info.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/info/info.json" - override fun extendedObjectJson() = "/json/2.0.0/model/info/info - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/info/info - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/info/info - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/info/info - wrongly extended.json" override fun build(): Info { return Info( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/LicenseTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/LicenseTest.kt index c3267640..cbb6a3d5 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/LicenseTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/info/LicenseTest.kt @@ -9,11 +9,11 @@ class LicenseTest: SerDeTest() { override fun objectClass() = License::class.java - override fun baseObjectJson() = "/json/2.0.0/model/info/license.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/info/license.json" - override fun extendedObjectJson() = "/json/2.0.0/model/info/license - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/info/license - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/info/license - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/info/license - wrongly extended.json" override fun build(): License { return License( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt index 612bf7c0..a975182e 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerTest.kt @@ -29,11 +29,11 @@ class ServerTest: SerDeTest() { override fun objectClass() = Server::class.java - override fun baseObjectJson() = "/json/2.0.0/model/server/server.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/server/server.json" - override fun extendedObjectJson() = "/json/2.0.0/model/server/server - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/server/server - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/server/server - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/server/server - wrongly extended.json" override fun build(): Server { return Server.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt index 2b3dbd5e..924a834f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/server/ServerVariableTest.kt @@ -10,11 +10,11 @@ class ServerVariableTest: SerDeTest() { override fun objectClass() = ServerVariable::class.java - override fun baseObjectJson() = "/json/2.0.0/model/server/serverVariable.json" + override fun baseObjectJson() = "/json/v2/2.0.0/model/server/serverVariable.json" - override fun extendedObjectJson() = "/json/2.0.0/model/server/serverVariable - extended.json" + override fun extendedObjectJson() = "/json/v2/2.0.0/model/server/serverVariable - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.0.0/model/server/serverVariable - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.0.0/model/server/serverVariable - wrongly extended.json" override fun build(): ServerVariable { return ServerVariable.builder() diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/asyncapi.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/asyncapi.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channel.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channel.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/channel.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channel.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/channelItem.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/channelItem.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/correlationId.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/correlationId.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/message.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/message.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/message/messageTrait.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/message/messageTrait.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with message.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with message.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operation with reference to message.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operation with reference to message.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/operation/operationTrait.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/operation/operationTrait.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/channel/parameter.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/channel/parameter.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/components/components - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/components/components - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/components/components.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/components/components.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/externalDocumentation.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/externalDocumentation.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/contact - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/contact - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/contact - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/contact - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/contact.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/contact.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/contact.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/info - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/info - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/info - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/info - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/info.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/info.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/info.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/license - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/license - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/license - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/license - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/info/license.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/info/license.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/info/license.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/reference.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/reference.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/reference.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/reference.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/server - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/server - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/server - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/server - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/server.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/server.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/server.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/server/serverVariable.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/server/serverVariable.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/tag - extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/tag - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/tag - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/tag - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.0.0/model/tag.json b/asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.0.0/model/tag.json rename to asyncapi-core/src/test/resources/json/v2/2.0.0/model/tag.json From d61c3f989de9c37fad8f615808d3e59a8cda900a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 6 Oct 2023 00:09:00 +0400 Subject: [PATCH 131/210] refactor(tests): new location for 2.6.0 test resources --- .../com/asyncapi/v2/_6_0/model/AsyncAPITest.kt | 6 +++--- .../v2/_6_0/model/ExternalDocumentationTest.kt | 6 +++--- .../asyncapi/v2/_6_0/model/ReferenceTest.kt | 2 +- .../com/asyncapi/v2/_6_0/model/TagTest.kt | 6 +++--- .../v2/_6_0/model/channel/ChannelItemTest.kt | 6 +++--- .../v2/_6_0/model/channel/ParameterTest.kt | 12 ++++++------ .../model/channel/message/CorrelationIdTest.kt | 6 +++--- .../channel/message/MessageExampleTest.kt | 6 +++--- .../_6_0/model/channel/message/MessageTest.kt | 6 +++--- .../model/channel/message/MessageTraitTest.kt | 6 +++--- .../model/channel/message/OneOfMessagesTest.kt | 2 +- .../model/channel/operation/OperationTest.kt | 18 +++++++++--------- .../channel/operation/OperationTraitTest.kt | 6 +++--- .../v2/_6_0/model/component/ComponentsTest.kt | 6 +++--- .../asyncapi/v2/_6_0/model/info/ContactTest.kt | 6 +++--- .../asyncapi/v2/_6_0/model/info/InfoTest.kt | 6 +++--- .../asyncapi/v2/_6_0/model/info/LicenseTest.kt | 6 +++--- .../v2/_6_0/model/server/ServerTest.kt | 6 +++--- .../v2/_6_0/model/server/ServerVariableTest.kt | 6 +++--- .../2.6.0/model/asyncapi - extended.json | 0 .../model/asyncapi - wrongly extended.json | 0 .../json/{ => v2}/2.6.0/model/asyncapi.json | 0 .../model/channel/channelItem - extended.json | 0 .../channelItem - wrongly extended.json | 0 .../2.6.0/model/channel/channelItem.json | 0 .../message/correlationId - extended.json | 0 .../correlationId - wrongly extended.json | 0 .../model/channel/message/correlationId.json | 0 .../channel/message/message - extended.json | 0 .../message/message - wrongly extended.json | 0 .../2.6.0/model/channel/message/message.json | 0 .../message/messageExample - extended.json | 0 .../messageExample - wrongly extended.json | 0 .../model/channel/message/messageExample.json | 0 .../message/messageTrait - extended.json | 0 .../messageTrait - wrongly extended.json | 0 .../model/channel/message/messageTrait.json | 0 .../model/channel/message/oneOfMessages.json | 0 .../operation with message - extended.json | 0 ...ration with message - wrongly extended.json | 0 .../operation/operation with message.json | 0 ...peration with oneOf message - extended.json | 0 ... with oneOf message - wrongly extended.json | 0 .../operation with oneOf message.json | 0 ...n with reference to message - extended.json | 0 ...eference to message - wrongly extended.json | 0 .../operation with reference to message.json | 0 .../operation/operationTrait - extended.json | 0 .../operationTrait - wrongly extended.json | 0 .../channel/operation/operationTrait.json | 0 ...er with reference to schema - extended.json | 0 ...reference to schema - wrongly extended.json | 0 .../parameter with reference to schema.json | 0 .../parameter with schema - extended.json | 0 ...rameter with schema - wrongly extended.json | 0 .../model/channel/parameter with schema.json | 0 .../components/components - extended.json | 0 .../components - wrongly extended.json | 0 .../2.6.0/model/components/components.json | 0 .../externalDocumentation - extended.json | 0 ...ternalDocumentation - wrongly extended.json | 0 .../2.6.0/model/externalDocumentation.json | 0 .../2.6.0/model/info/contact - extended.json | 0 .../model/info/contact - wrongly extended.json | 0 .../{ => v2}/2.6.0/model/info/contact.json | 0 .../2.6.0/model/info/info - extended.json | 0 .../model/info/info - wrongly extended.json | 0 .../json/{ => v2}/2.6.0/model/info/info.json | 0 .../2.6.0/model/info/license - extended.json | 0 .../model/info/license - wrongly extended.json | 0 .../{ => v2}/2.6.0/model/info/license.json | 0 .../json/{ => v2}/2.6.0/model/reference.json | 0 .../2.6.0/model/server/server - extended.json | 0 .../server/server - wrongly extended.json | 0 .../{ => v2}/2.6.0/model/server/server.json | 0 .../server/serverVariable - extended.json | 0 .../serverVariable - wrongly extended.json | 0 .../2.6.0/model/server/serverVariable.json | 0 .../{ => v2}/2.6.0/model/tag - extended.json | 0 .../2.6.0/model/tag - wrongly extended.json | 0 .../json/{ => v2}/2.6.0/model/tag.json | 0 81 files changed, 62 insertions(+), 62 deletions(-) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/asyncapi - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/asyncapi - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/asyncapi.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/channelItem - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/channelItem - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/channelItem.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/correlationId - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/correlationId - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/correlationId.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageExample - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageExample - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageExample.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageTrait - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageTrait - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/messageTrait.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/message/oneOfMessages.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with oneOf message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with oneOf message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with reference to message - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operation with reference to message.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operationTrait - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operationTrait - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/operation/operationTrait.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with reference to schema - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with reference to schema.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with schema - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with schema - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/channel/parameter with schema.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/components/components - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/components/components - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/components/components.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/externalDocumentation - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/externalDocumentation - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/externalDocumentation.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/contact - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/contact - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/contact.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/info - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/info - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/info.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/license - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/license - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/info/license.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/reference.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/server - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/server - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/server.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/serverVariable - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/serverVariable - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/server/serverVariable.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/tag - extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/tag - wrongly extended.json (100%) rename asyncapi-core/src/test/resources/json/{ => v2}/2.6.0/model/tag.json (100%) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt index 55e7e061..57300656 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/AsyncAPITest.kt @@ -14,11 +14,11 @@ class AsyncAPITest: SerDeTest() { override fun objectClass() = AsyncAPI::class.java - override fun baseObjectJson() = "/json/2.6.0/model/asyncapi.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/asyncapi.json" - override fun extendedObjectJson() = "/json/2.6.0/model/asyncapi - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/asyncapi - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/asyncapi - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/asyncapi - wrongly extended.json" override fun build(): AsyncAPI { return AsyncAPI( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ExternalDocumentationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ExternalDocumentationTest.kt index e9a26c04..5b5bd86c 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ExternalDocumentationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ExternalDocumentationTest.kt @@ -9,11 +9,11 @@ class ExternalDocumentationTest: SerDeTest() { override fun objectClass() = ExternalDocumentation::class.java - override fun baseObjectJson() = "/json/2.6.0/model/externalDocumentation.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/externalDocumentation.json" - override fun extendedObjectJson() = "/json/2.6.0/model/externalDocumentation - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/externalDocumentation - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/externalDocumentation - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/externalDocumentation - wrongly extended.json" override fun build(): ExternalDocumentation { return ExternalDocumentation( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt index 6d751297..aa1199db 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/ReferenceTest.kt @@ -14,7 +14,7 @@ class ReferenceTest { @Test @DisplayName("Compare hand crafted model with parsed json") fun compareModelWithParsedJson() { - val model = ClasspathUtils.readAsString("/json/2.6.0/model/reference.json") + val model = ClasspathUtils.readAsString("/json/v2/2.6.0/model/reference.json") Assertions.assertEquals( objectMapper.readValue(model, Reference::class.java), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/TagTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/TagTest.kt index cebdea83..bd422301 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/TagTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/TagTest.kt @@ -9,11 +9,11 @@ class TagTest: SerDeTest() { override fun objectClass() = Tag::class.java - override fun baseObjectJson() = "/json/2.6.0/model/tag.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/tag.json" - override fun extendedObjectJson() = "/json/2.6.0/model/tag - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/tag - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/tag - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/tag - wrongly extended.json" override fun build(): Tag { return Tag( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt index d56dc689..887452a9 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt @@ -17,11 +17,11 @@ class ChannelItemTest: SerDeTest() { override fun objectClass() = ChannelItem::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/channelItem.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/channelItem.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/channelItem - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/channelItem - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/channelItem - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/channelItem - wrongly extended.json" override fun build(): ChannelItem { val subscribe = OperationWithOneOfMessageTest().build() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt index aa91ef16..2997d669 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ParameterTest.kt @@ -8,11 +8,11 @@ class ParameterWithReferenceToSchemaTest: SerDeTest() { override fun objectClass() = Parameter::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/parameter with reference to schema.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/parameter with reference to schema.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/parameter with reference to schema - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/parameter with reference to schema - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json" override fun build(): Parameter { return Parameter.builder() @@ -28,11 +28,11 @@ class ParameterWithSchemaTest: SerDeTest() { override fun objectClass() = Parameter::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/parameter with schema.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/parameter with schema.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/parameter with schema - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/parameter with schema - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/parameter with schema - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/parameter with schema - wrongly extended.json" override fun build(): Parameter { return Parameter.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/CorrelationIdTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/CorrelationIdTest.kt index 8189884d..bb3a2882 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/CorrelationIdTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/CorrelationIdTest.kt @@ -6,11 +6,11 @@ class CorrelationIdTest: SerDeTest() { override fun objectClass() = CorrelationId::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/message/correlationId.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/message/correlationId.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/message/correlationId - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/message/correlationId - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/message/correlationId - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/message/correlationId - wrongly extended.json" override fun build(): CorrelationId { return CorrelationId.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageExampleTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageExampleTest.kt index 63ececc8..c6776428 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageExampleTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageExampleTest.kt @@ -6,11 +6,11 @@ class MessageExampleTest: SerDeTest() { override fun objectClass() = MessageExample::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/message/messageExample.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/message/messageExample.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/message/messageExample - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/message/messageExample - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/message/messageExample - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/message/messageExample - wrongly extended.json" override fun build(): MessageExample { return MessageExample.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt index eeeef6dd..61cb7557 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt @@ -17,11 +17,11 @@ class MessageTest: SerDeTest() { override fun objectClass() = Message::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/message/message.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/message/message.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/message/message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/message/message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/message/message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/message/message - wrongly extended.json" override fun build(): Message { return Message.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt index a3c6ce0e..2b5dce28 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt @@ -17,11 +17,11 @@ class MessageTraitTest: SerDeTest() { override fun objectClass() = MessageTrait::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/message/messageTrait.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/message/messageTrait.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/message/messageTrait - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/message/messageTrait - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/message/messageTrait - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/message/messageTrait - wrongly extended.json" override fun build(): MessageTrait { return MessageTrait.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt index 03ee0086..40a4f6a6 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/OneOfMessagesTest.kt @@ -14,7 +14,7 @@ class OneOfMessagesTest { @Test @DisplayName("Compare hand crafted model with parsed json") fun compareModelWithParsedJson() { - val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/oneOfMessages.json") + val model = ClasspathUtils.readAsString("/json/v2/2.6.0/model/channel/message/oneOfMessages.json") Assertions.assertEquals( objectMapper.readValue(model, OneOfMessages::class.java), diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt index 22e9a533..1b9ecb4f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTest.kt @@ -17,11 +17,11 @@ class OperationWithReferenceToMessageTest: SerDeTest() { override fun objectClass() = Operation::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/operation/operation with reference to message.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with reference to message.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with reference to message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with reference to message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json" override fun build(): Operation { return Operation.builder() @@ -56,11 +56,11 @@ class OperationWithMessageTest: SerDeTest() { override fun objectClass() = Operation::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/operation/operation with message.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with message.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with message - wrongly extended.json" override fun build(): Operation { return Operation.builder() @@ -94,11 +94,11 @@ class OperationWithOneOfMessageTest: SerDeTest() { override fun objectClass() = Operation::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/operation/operation with oneOf message.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with oneOf message.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with oneOf message - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json" override fun build(): Operation { return Operation.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt index ca7f5304..5323cc73 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/operation/OperationTraitTest.kt @@ -15,11 +15,11 @@ class OperationTraitTest: SerDeTest() { override fun objectClass() = OperationTrait::class.java - override fun baseObjectJson() = "/json/2.6.0/model/channel/operation/operationTrait.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/channel/operation/operationTrait.json" - override fun extendedObjectJson() = "/json/2.6.0/model/channel/operation/operationTrait - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operationTrait - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/channel/operation/operationTrait - wrongly extended.json" override fun build(): OperationTrait { return OperationTrait.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt index 2bb3ec16..2135c2f3 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/component/ComponentsTest.kt @@ -29,11 +29,11 @@ class ComponentsTest: SerDeTest() { override fun objectClass() = Components::class.java - override fun baseObjectJson() = "/json/2.6.0/model/components/components.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/components/components.json" - override fun extendedObjectJson() = "/json/2.6.0/model/components/components - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/components/components - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/components/components - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/components/components - wrongly extended.json" override fun build(): Components { return Components.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/ContactTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/ContactTest.kt index a40bc460..f1e72822 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/ContactTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/ContactTest.kt @@ -9,11 +9,11 @@ class ContactTest: SerDeTest() { override fun objectClass() = Contact::class.java - override fun baseObjectJson() = "/json/2.6.0/model/info/contact.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/info/contact.json" - override fun extendedObjectJson() = "/json/2.6.0/model/info/contact - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/info/contact - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/info/contact - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/info/contact - wrongly extended.json" override fun build(): Contact { return Contact( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/InfoTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/InfoTest.kt index 069fc521..9175180f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/InfoTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/InfoTest.kt @@ -9,11 +9,11 @@ class InfoTest: SerDeTest() { override fun objectClass() = Info::class.java - override fun baseObjectJson() = "/json/2.6.0/model/info/info.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/info/info.json" - override fun extendedObjectJson() = "/json/2.6.0/model/info/info - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/info/info - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/info/info - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/info/info - wrongly extended.json" override fun build(): Info { return Info( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/LicenseTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/LicenseTest.kt index 20beb268..7b84540c 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/LicenseTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/info/LicenseTest.kt @@ -9,11 +9,11 @@ class LicenseTest: SerDeTest() { override fun objectClass() = License::class.java - override fun baseObjectJson() = "/json/2.6.0/model/info/license.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/info/license.json" - override fun extendedObjectJson() = "/json/2.6.0/model/info/license - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/info/license - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/info/license - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/info/license - wrongly extended.json" override fun build(): License { return License( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt index 2711875b..e742ad1f 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerTest.kt @@ -31,11 +31,11 @@ class ServerTest: SerDeTest() { override fun objectClass() = Server::class.java - override fun baseObjectJson() = "/json/2.6.0/model/server/server.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/server/server.json" - override fun extendedObjectJson() = "/json/2.6.0/model/server/server - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/server/server - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/server/server - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/server/server - wrongly extended.json" override fun build(): Server { return Server.builder() diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerVariableTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerVariableTest.kt index aaf72c69..6f5b4da0 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerVariableTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/server/ServerVariableTest.kt @@ -10,11 +10,11 @@ class ServerVariableTest: SerDeTest() { override fun objectClass() = ServerVariable::class.java - override fun baseObjectJson() = "/json/2.6.0/model/server/serverVariable.json" + override fun baseObjectJson() = "/json/v2/2.6.0/model/server/serverVariable.json" - override fun extendedObjectJson() = "/json/2.6.0/model/server/serverVariable - extended.json" + override fun extendedObjectJson() = "/json/v2/2.6.0/model/server/serverVariable - extended.json" - override fun wronglyExtendedObjectJson() = "/json/2.6.0/model/server/serverVariable - wrongly extended.json" + override fun wronglyExtendedObjectJson() = "/json/v2/2.6.0/model/server/serverVariable - wrongly extended.json" override fun build(): ServerVariable { return ServerVariable.builder() diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/asyncapi.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/asyncapi.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/channelItem.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/channelItem.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/correlationId.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/correlationId.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/message.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/message.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageExample.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageExample.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/messageTrait.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageTrait.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/oneOfMessages.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/oneOfMessages.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/message/oneOfMessages.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/oneOfMessages.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with message.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with message.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with oneOf message.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with oneOf message.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operation with reference to message.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operation with reference to message.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/operation/operationTrait.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/operation/operationTrait.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with reference to schema.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with reference to schema.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/channel/parameter with schema.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/parameter with schema.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/components/components - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/components/components - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/components/components.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/components/components.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/externalDocumentation.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/externalDocumentation.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/contact - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/contact - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/contact - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/contact - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/contact.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/contact.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/contact.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/info - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/info - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/info - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/info - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/info.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/info.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/info.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/license - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/license - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/license - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/license - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/info/license.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/info/license.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/info/license.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/reference.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/reference.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/reference.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/reference.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/server - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/server - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/server - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/server - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/server.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/server.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/server.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/server/serverVariable.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/server/serverVariable.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/tag - extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag - extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/tag - extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag - extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/tag - wrongly extended.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag - wrongly extended.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/tag - wrongly extended.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag - wrongly extended.json diff --git a/asyncapi-core/src/test/resources/json/2.6.0/model/tag.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag.json similarity index 100% rename from asyncapi-core/src/test/resources/json/2.6.0/model/tag.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/tag.json From 6aa40a4a7d3c3c56783830bbb01bd0c4756fa84c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 6 Oct 2023 02:20:21 +0400 Subject: [PATCH 132/210] build: 1.0.0-EAP-3-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 391729ad..cd008e0b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.asyncapi asyncapi - 1.0.0-EAP-2 + 1.0.0-EAP-3-SNAPSHOT AsyncAPI From b7755bda520afccb78e19ca268b55b2cfe1fee07 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 6 Oct 2023 02:32:43 +0400 Subject: [PATCH 133/210] build: 1.0.0-EAP-3-SNAPSHOT --- asyncapi-core/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/pom.xml b/asyncapi-core/pom.xml index 4e1edb20..6e5747b5 100644 --- a/asyncapi-core/pom.xml +++ b/asyncapi-core/pom.xml @@ -6,7 +6,7 @@ asyncapi com.asyncapi - 1.0.0-EAP-2 + 1.0.0-EAP-3-SNAPSHOT 4.0.0 From d0030a17811a70f9497d96ab8184eefa2ae403b4 Mon Sep 17 00:00:00 2001 From: jaydeep Date: Thu, 12 Oct 2023 18:33:45 +0530 Subject: [PATCH 134/210] If schema items is an array of schemas, it will be parsed as a list of Schemas. Updated tests. --- .../v2/jackson/SchemaItemsDeserializer.java | 17 +++++++++++++++-- .../message/MessageWithArrayPayloadTest.kt | 8 +++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java index 8cdcc77b..4b90358f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v2/jackson/SchemaItemsDeserializer.java @@ -6,9 +6,12 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.JsonNodeType; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; public class SchemaItemsDeserializer extends JsonDeserializer { @@ -20,11 +23,21 @@ public Object deserialize(JsonParser jsonParser, DeserializationContext deserial if (nodeType == JsonNodeType.OBJECT) { return readAsSchema(node, objectCodec); } - // TODO: Implement handling of scenario when items is an array of schemas. Maybe return a List? + if (nodeType == JsonNodeType.ARRAY) { + return readAsListOfSchemas((ArrayNode) node, objectCodec); + } return readAsObject(node, objectCodec); } - private Object readAsSchema(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + private List readAsListOfSchemas(ArrayNode arrayNode, ObjectCodec objectCodec) throws IOException { + List schemaList = new ArrayList<>(); + for (JsonNode childNode : arrayNode) { + schemaList.add(readAsSchema(childNode, objectCodec)); + } + return schemaList; + } + + private Schema readAsSchema(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { try (JsonParser parser = jsonNode.traverse(objectCodec)) { return parser.readValueAs(Schema.class); } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt index 373b0e06..ea7f4820 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt @@ -21,12 +21,10 @@ class MessageWithArrayPayloadTest { } @Test - @DisplayName("Test array items property is parsed as an array list") - fun testArrayItemsPropertyIsParsedAsArrayListWhenItIsAnArrayOfSchemas() { + @DisplayName("Test array items property is parsed as list of schemas") + fun testArrayItemsPropertyIsParsedAsArrayListOfSchemasWhenItIsAnArrayOfSchemas() { val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json") val schema = objectMapper.readValue(model, Message::class.java).payload as Schema - assertTrue( - schema.items is ArrayList<*> - ) + assertTrue(schema.items is ArrayList<*> && (schema.items as ArrayList<*>).all { it is Schema }) } } \ No newline at end of file From 4e9275c14cf7a6b25c7314a4fa1260d8cc4b76ac Mon Sep 17 00:00:00 2001 From: jaydeep Date: Fri, 13 Oct 2023 09:48:12 +0530 Subject: [PATCH 135/210] Moved the array test json files from the v3 folder to v2/2.6.0 folder, as we have currently implemented the array schema parsing only for v2.6.0. --- .../_6_0/model/channel/message/MessageWithArrayPayloadTest.kt | 4 ++-- .../message/messageWithArrayPayloadArrayOfSchemas.json | 0 .../channel/message/messageWithArrayPayloadJsonSchema.json | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename asyncapi-core/src/test/resources/json/{v3/3.0.0 => v2/2.6.0}/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json (100%) rename asyncapi-core/src/test/resources/json/{v3/3.0.0 => v2/2.6.0}/model/channel/message/messageWithArrayPayloadJsonSchema.json (100%) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt index ea7f4820..200e7eff 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageWithArrayPayloadTest.kt @@ -13,7 +13,7 @@ class MessageWithArrayPayloadTest { @Test @DisplayName("Test array items property is parsed as a schema object") fun testArrayItemsPropertyIsParsedAsSchemaObjectWhenItIsASingleJsonSchema() { - val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json") + val model = ClasspathUtils.readAsString("/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json") val schema = objectMapper.readValue(model, Message::class.java).payload as Schema assertTrue( schema.items is Schema @@ -23,7 +23,7 @@ class MessageWithArrayPayloadTest { @Test @DisplayName("Test array items property is parsed as list of schemas") fun testArrayItemsPropertyIsParsedAsArrayListOfSchemasWhenItIsAnArrayOfSchemas() { - val model = ClasspathUtils.readAsString("/json/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json") + val model = ClasspathUtils.readAsString("/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json") val schema = objectMapper.readValue(model, Message::class.java).payload as Schema assertTrue(schema.items is ArrayList<*> && (schema.items as ArrayList<*>).all { it is Schema }) } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json similarity index 100% rename from asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json b/asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json similarity index 100% rename from asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json rename to asyncapi-core/src/test/resources/json/v2/2.6.0/model/channel/message/messageWithArrayPayloadJsonSchema.json From 60ffecf1464d93a96c20c0a13ca13ba7b5c3e36d Mon Sep 17 00:00:00 2001 From: jaydeep Date: Fri, 13 Oct 2023 10:42:13 +0530 Subject: [PATCH 136/210] Implemented parsing of messages with array payloads (into schema object or list of schemas) in v3. --- .../v3/jackson/SchemaItemsDeserializer.java | 51 +++++++++++++++++++ .../java/com/asyncapi/v3/schema/Schema.java | 3 +- .../message/MessageWithArrayPayloadTest.kt | 30 +++++++++++ ...messageWithArrayPayloadArrayOfSchemas.json | 19 +++++++ .../messageWithArrayPayloadJsonSchema.json | 32 ++++++++++++ 5 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/main/java/com/asyncapi/v3/jackson/SchemaItemsDeserializer.java create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageWithArrayPayloadTest.kt create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json create mode 100644 asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/SchemaItemsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/SchemaItemsDeserializer.java new file mode 100644 index 00000000..c2186164 --- /dev/null +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/jackson/SchemaItemsDeserializer.java @@ -0,0 +1,51 @@ +package com.asyncapi.v3.jackson; + +import com.asyncapi.v3.schema.Schema; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeType; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class SchemaItemsDeserializer extends JsonDeserializer { + + @Override + public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { + ObjectCodec objectCodec = jsonParser.getCodec(); + JsonNode node = objectCodec.readTree(jsonParser); + JsonNodeType nodeType = node.getNodeType(); + if (nodeType == JsonNodeType.OBJECT) { + return readAsSchema(node, objectCodec); + } + if (nodeType == JsonNodeType.ARRAY) { + return readAsListOfSchemas((ArrayNode) node, objectCodec); + } + return readAsObject(node, objectCodec); + } + + private List readAsListOfSchemas(ArrayNode arrayNode, ObjectCodec objectCodec) throws IOException { + List schemaList = new ArrayList<>(); + for (JsonNode childNode : arrayNode) { + schemaList.add(readAsSchema(childNode, objectCodec)); + } + return schemaList; + } + + private Schema readAsSchema(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser parser = jsonNode.traverse(objectCodec)) { + return parser.readValueAs(Schema.class); + } + } + + private Object readAsObject(JsonNode jsonNode, ObjectCodec objectCodec) throws IOException { + try (JsonParser jsonParser = jsonNode.traverse(objectCodec)) { + return jsonParser.readValueAs(Object.class); + } + } +} diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java index 7085d8e1..1fdfc582 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java @@ -1,5 +1,6 @@ package com.asyncapi.v3.schema; +import com.asyncapi.v3.jackson.SchemaItemsDeserializer; import com.asyncapi.v3.ExtendableObject; import com.asyncapi.v3.jackson.schema.SchemasAdditionalPropertiesDeserializer; import com.asyncapi.v3._0_0.model.ExternalDocumentation; @@ -358,7 +359,7 @@ Validation Keywords for Numeric Instances (number and integer) * Omitting this keyword has the same behavior as an empty schema. */ @Nullable - @JsonProperty + @JsonDeserialize(using = SchemaItemsDeserializer.class) public Object items; /** diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageWithArrayPayloadTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageWithArrayPayloadTest.kt new file mode 100644 index 00000000..02825157 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageWithArrayPayloadTest.kt @@ -0,0 +1,30 @@ +package com.asyncapi.v3._0_0.model.channel.message + +import com.asyncapi.v3.ClasspathUtils +import com.asyncapi.v3.schema.Schema +import com.fasterxml.jackson.databind.ObjectMapper +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import kotlin.test.assertTrue + +class MessageWithArrayPayloadTest { + private val objectMapper = ObjectMapper() + + @Test + @DisplayName("Test array items property is parsed as a schema object") + fun testArrayItemsPropertyIsParsedAsSchemaObjectWhenItIsASingleJsonSchema() { + val model = ClasspathUtils.readAsString("/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json") + val schema = objectMapper.readValue(model, Message::class.java).payload as Schema + assertTrue( + schema.items is Schema + ) + } + + @Test + @DisplayName("Test array items property is parsed as list of schemas") + fun testArrayItemsPropertyIsParsedAsArrayListOfSchemasWhenItIsAnArrayOfSchemas() { + val model = ClasspathUtils.readAsString("/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json") + val schema = objectMapper.readValue(model, Message::class.java).payload as Schema + assertTrue(schema.items is ArrayList<*> && (schema.items as ArrayList<*>).all { it is Schema }) + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json new file mode 100644 index 00000000..33dc7425 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadArrayOfSchemas.json @@ -0,0 +1,19 @@ +{ + "bindings": { + "kafka": { + "key": { + "type": "string" + }, + "bindingVersion": "0.4.0" + } + }, + "payload": { + "type": "array", + "items": [ + { "type": "number" }, + { "type": "string" }, + { "enum": ["Street", "Avenue", "Boulevard"] }, + { "enum": ["NW", "NE", "SW", "SE"] } + ] + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json new file mode 100644 index 00000000..e8c084f3 --- /dev/null +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageWithArrayPayloadJsonSchema.json @@ -0,0 +1,32 @@ +{ + "bindings": { + "kafka": { + "key": { + "type": "string" + }, + "bindingVersion": "0.4.0" + } + }, + "payload": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "name", + "done" + ], + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "done": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file From 9bd4dcfc033628efb25a48d7b42cfcff31de5374 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 17 Jan 2024 23:09:08 +0400 Subject: [PATCH 137/210] fix(javadoc): MessageExample --- .../v3/_0_0/model/channel/message/MessageExample.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java index dd31f990..19eae372 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java @@ -17,13 +17,13 @@ public class MessageExample extends ExtendableObject { /** - * The value of this field MUST validate against the {@link Message#getHeaders()} headers field. + * The value of this field MUST validate against the {@link Message} headers field. */ @Nullable public Map headers; /** - * The value of this field MUST validate against the Message {@link Message#getPayload()} field. + * The value of this field MUST validate against the Message {@link Message} payload field. */ @Nullable public Map payload; From fb11aaf175130739d0000a17f3bf086546d7454a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 31 Jan 2024 03:20:51 +0400 Subject: [PATCH 138/210] docs: change SDK env command --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db0a567e..9121e9eb 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Hints: If you are using SDKMAN! use [env](https://sdkman.io/usage#env) to prepare environment ```shell -sdk env +sdk env install ``` ### Publish new release From fd3fdc9a2b5f076873eb25c4d21d157b2cd96ad3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 31 Jan 2024 03:21:10 +0400 Subject: [PATCH 139/210] docs: install locally without GPG signing --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 9121e9eb..e083a78c 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,13 @@ If you are using SDKMAN! use [env](https://sdkman.io/usage#env) to prepare envir sdk env install ``` +### Install locally + +Each build is GPG signed. To avoid this, and to not configure GPG locally, you can use this command: +```shell + mvn clean install -Dgpg.skip +``` + ### Publish new release #### Prerequisites From 65c60dc97bcfd2676bdd23404cf5b5015dde5cff Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 01:56:55 +0400 Subject: [PATCH 140/210] docs(3.0.0): update AsyncAPI JavaDocs --- .../com/asyncapi/v3/_0_0/model/AsyncAPI.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java index fdb84f26..80e68798 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/AsyncAPI.java @@ -23,7 +23,7 @@ * It combines resource listing and API declaration together into one document. * * @version 3.0.0 - * @see AsyncAPI + * @see AsyncAPI * @author Pavel Bodiachevskii */ @Data @@ -34,7 +34,7 @@ public class AsyncAPI extends ExtendableObject { /** - * Required. + * Required. *

                            * Specifies the AsyncAPI Specification version being used. * It can be used by tooling Specifications and clients to interpret the version. @@ -50,10 +50,10 @@ public class AsyncAPI extends ExtendableObject { private final String asyncapi = "3.0.0"; /** - * Identifier of the application the AsyncAPI document is defining. + * Identifier of the application the AsyncAPI document is defining. *

                            * This field represents a unique universal identifier of the application the AsyncAPI document is defining. - * It must conform to the URI format, according to RFC3986. + * It must conform to the URI format, according to RFC3986. *

                            * It is RECOMMENDED to use a URN to globally and uniquely identify the application during long periods of time, * even after it becomes unavailable or ceases to exist. @@ -63,7 +63,9 @@ public class AsyncAPI extends ExtendableObject { /** * A string representing the default content type to use when encoding/decoding a message's payload. + *

                            * The value MUST be a specific media type (e.g. application/json). + *

                            * This value MUST be used by schema parsers when the contentType property is omitted. *

                            * In case a message can't be encoded/decoded using this value, schema parsers MUST use their default content type. @@ -72,7 +74,7 @@ public class AsyncAPI extends ExtendableObject { private String defaultContentType; /** - * Required. + * Required. *

                            * Provides metadata about the API. The metadata can be used by the clients if needed. */ @@ -95,11 +97,7 @@ public class AsyncAPI extends ExtendableObject { private Map servers = new HashMap<>(); /** - * The available channels and messages for the API. - *

                            - * Holds the relative paths to the individual channel and their operations. Channel paths are relative to servers. - *

                            - * Channels are also known as "topics", "routing keys", "event types" or "paths". + * The channels used by this application. *

                            * MUST BE: *

                              @@ -113,7 +111,7 @@ public class AsyncAPI extends ExtendableObject { private Map channels = new HashMap<>(); /** - * The available operations for the API. + * The operations this application MUST implement. *

                              * MUST BE: *

                                @@ -127,7 +125,10 @@ public class AsyncAPI extends ExtendableObject { private Map operations = new HashMap<>(); /** - * An element to hold various schemas for the specification. + * An element to hold various reusable objects for the specification. + *

                                + * Everything that is defined inside this object represents a resource that MAY or MAY NOT be used in the + * rest of the document and MAY or MAY NOT be used by the implemented application. */ @Nullable private Components components; From 5a2fe8b7344a896dc1a622173374dedaf0761217 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 01:59:55 +0400 Subject: [PATCH 141/210] docs(3.0.0): update ExtendableObject JavaDocs --- .../main/java/com/asyncapi/v3/ExtendableObject.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java index 23f75dc5..882258bc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java @@ -12,6 +12,19 @@ import java.util.Map; import java.util.regex.Pattern; +/** + * While the AsyncAPI Specification tries to accommodate most use cases, + * additional data can be added to extend the specification at certain points. + *

                                + * The extensions properties are implemented as patterned fields that are always prefixed by "x-". + *

                                + * The extensions may or may not be supported by the available tooling, but those may be extended as + * well to add requested support (if tools are internal or open-sourced). + * + * @see Specification Extensions + * @author Pavel Bodiachevskii + * @version 3.0.0 + */ @Data @NoArgsConstructor @AllArgsConstructor From 81edf5f94bb5b091b29313120801520baa99a58f Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:04:02 +0400 Subject: [PATCH 142/210] docs(3.0.0): update Info JavaDocs --- .../java/com/asyncapi/v3/_0_0/model/info/Info.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java index ed8d7b4e..b9a131c3 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Info.java @@ -17,9 +17,9 @@ /** * The object provides metadata about the API. The metadata can be used by the clients if needed. * - * @version 3.0.0 - * @see Info + * @see Info * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -29,7 +29,7 @@ public class Info extends ExtendableObject { /** - * Required. + * Required. *

                                * The title of the application. */ @@ -39,7 +39,7 @@ public class Info extends ExtendableObject { private String title = ""; /** - * Required. + * Required. *

                                * Provides the version of the application API (not to be confused with the specification version). */ @@ -49,14 +49,15 @@ public class Info extends ExtendableObject { private String version = ""; /** - * A short description of the application. CommonMark syntax can be used for rich text representation. + * A short description of the application. CommonMark syntax can be used + * for rich text representation. */ @Nullable @JsonProperty private String description; /** - * A URL to the Terms of Service for the API. MUST be in the format of a URL. + * A URL to the Terms of Service for the API. This MUST be in the form of an absolute URL. */ @Nullable @JsonProperty From 3ae4c057781b5fce09309e110a7b673b3196e079 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:05:28 +0400 Subject: [PATCH 143/210] docs(3.0.0): update Contact JavaDocs --- .../main/java/com/asyncapi/v3/_0_0/model/info/Contact.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java index ec6fd3c6..bd2af1b2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/Contact.java @@ -7,9 +7,9 @@ /** * Contact information for the exposed API. * - * @version 3.0.0 - * @see Contact + * @see Contact * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -25,7 +25,7 @@ public class Contact extends ExtendableObject { private String name; /** - * The URL pointing to the contact information. MUST be in the format of a URL. + * The URL pointing to the contact information. This MUST be in the form of an absolute URL. */ @Nullable private String url; From ca7edefa7fb03e76302314906aa292b95a9b319a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:07:19 +0400 Subject: [PATCH 144/210] docs(3.0.0): update License JavaDocs --- .../java/com/asyncapi/v3/_0_0/model/info/License.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java index a8737428..415dd90b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/info/License.java @@ -8,9 +8,9 @@ /** * License information for the exposed API. * - * @version 3.0.0 - * @see License + * @see License * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -20,14 +20,16 @@ public class License extends ExtendableObject { /** - * Required. The license name used for the API. + * Required. + *

                                + * The license name used for the API. */ @NotNull @Builder.Default private String name = ""; /** - * A URL to the license used for the API. MUST be in the format of a URL. + * A URL to the license used for the API. This MUST be in the form of an absolute URL. */ @Nullable private String url; From 690abbe91841ef02935f10fa441d4de9399feee4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:09:56 +0400 Subject: [PATCH 145/210] docs(3.0.0): update Tag JavaDocs --- .../src/main/java/com/asyncapi/v3/_0_0/model/Tag.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java index 3ae2df83..7b77f09c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/Tag.java @@ -11,9 +11,9 @@ /** * Allows adding meta data to a single tag. * - * @version 3.0.0 - * @see Tag + * @see Tag * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -23,7 +23,9 @@ public class Tag extends ExtendableObject { /** - * Required. The name of the tag. + * Required. + *

                                + * The name of the tag. */ @NotNull @Builder.Default From 8c64c3aac9512a632303f584cc8aa03a894b6d3e Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:12:13 +0400 Subject: [PATCH 146/210] docs(3.0.0): update Reference JavaDocs --- .../src/main/java/com/asyncapi/v3/Reference.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java b/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java index bd4b78c7..05ac7c2f 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/Reference.java @@ -16,10 +16,12 @@ *

                                * For this specification, reference resolution is done as defined by the JSON Reference specification and not by * the JSON Schema specification. + *

                                + * This object cannot be extended with additional properties and any properties added SHALL be ignored. * - * @version 3.0.0 - * @see Reference + * @see Reference * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -27,7 +29,7 @@ public class Reference { /** - * Required. + * Required. *

                                * The reference string. */ From ef873e15a476c888b219fd58a236f59f36c127fb Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:14:22 +0400 Subject: [PATCH 147/210] docs(3.0.0): update ExternalDocumentation JavaDocs --- .../com/asyncapi/v3/_0_0/model/ExternalDocumentation.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java index 5dc4595e..55b14b20 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/ExternalDocumentation.java @@ -8,9 +8,9 @@ /** * Allows referencing an external resource for extended documentation. * - * @version 3.0.0 - * @see ExternalDocumentation + * @see ExternalDocumentation * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -20,13 +20,13 @@ public class ExternalDocumentation extends ExtendableObject { /** - * A short description of the target documentation. CommonMark syntax can be used for rich text representation. + * A short description of the target documentation. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; /** - * Required. + * Required. *

                                * The URL for the target documentation. Value MUST be in the format of a URL. */ From c3f2bc44fb120d3f711993b18ae440303409d84c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:25:00 +0400 Subject: [PATCH 148/210] docs(3.0.0): update Server JavaDocs --- .../asyncapi/v3/_0_0/model/server/Server.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java index 669f1668..8d38cd89 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/Server.java @@ -22,13 +22,16 @@ /** * An object representing a message broker, a server or any other kind of computer program capable of sending and/or - * receiving data. This object is used to capture details such as URIs, protocols and security configuration. + * receiving data. + *

                                + * This object is used to capture details such as URIs, protocols and security configuration. + *

                                * Variable substitution can be used so that some details, for example usernames and passwords, can be injected by * code generation tools. * - * @version 3.0.0 - * @see Server + * @see Server * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -38,9 +41,10 @@ public class Server extends ExtendableObject { /** - * REQUIRED. + * REQUIRED. + *

                                + * The server host name. It MAY include the port. This field supports {@link ServerVariable}. *

                                - * The server host name. It MAY include the port. This field supports Server Variables. * Variable substitutions will be made when a variable is named in {braces}. */ @NotNull @@ -49,7 +53,7 @@ public class Server extends ExtendableObject { private String host = ""; /** - * REQUIRED. + * REQUIRED. *

                                * The protocol this URL supports for connection. Supported protocol include, but are not limited to: * amqp, amqps, http, https, jms, kafka, kafka-secure, mqtt, secure-mqtt, stomp, stomps, ws, wss. @@ -67,7 +71,8 @@ public class Server extends ExtendableObject { private String protocolVersion; /** - * The path to a resource in the host. This field supports Server Variables. + * The path to a resource in the host. This field supports {@link ServerVariable}. + *

                                * Variable substitutions will be made when a variable is named in {braces}. */ @Nullable @@ -75,8 +80,7 @@ public class Server extends ExtendableObject { private String pathname; /** - * An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text - * representation. + * An optional string describing the server. CommonMark syntax MAY be used for rich text representation. */ @Nullable @JsonProperty @@ -98,7 +102,8 @@ public class Server extends ExtendableObject { /** * A map between a variable name and its value. - * The value is used for substitution in the server's host and pathname template. + *

                                + * The value is used for substitution in the server's {@link #getHost()} and {@link #getPathname()} template. *

                                * MUST BE: *

                                  @@ -113,8 +118,9 @@ public class Server extends ExtendableObject { /** * A declaration of which security schemes can be used with this server. The list of values includes alternative - * security scheme objects that can be used. Only one of the security scheme objects need to be satisfied to - * authorize a connection or operation. + * {@link SecurityScheme} objects that can be used. + *

                                  + * Only one of the security scheme objects need to be satisfied to authorize a connection or operation. *

                                  * MUST BE: *

                                    @@ -161,8 +167,8 @@ public class Server extends ExtendableObject { *

                                    * MUST be one of: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ServerBinding}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable From f3b58f2f7fbefc8df421bbfac85effaeb4a0d2f4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:28:01 +0400 Subject: [PATCH 149/210] docs(3.0.0): update ServerVariable JavaDocs --- .../com/asyncapi/v3/_0_0/model/server/ServerVariable.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java index 9e20243f..87f852e1 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/server/ServerVariable.java @@ -10,9 +10,9 @@ /** * An object representing a Server Variable for server URL template substitution. * - * @version 3.0.0 - * @see ServerVariable + * @see ServerVariable * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -36,7 +36,7 @@ public class ServerVariable extends ExtendableObject { private String defaultValue; /** - * An optional description for the server variable. CommonMark syntax MAY be used for rich text representation. + * An optional description for the server variable. CommonMark syntax MAY be used for rich text representation. */ @Nullable private String description; From 664d2c6714264bd3535d4d455685830cfab1825a Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:32:17 +0400 Subject: [PATCH 150/210] docs(3.0.0): update SecurityScheme JavaDocs --- .../com/asyncapi/v3/security_scheme/SecurityScheme.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java index 795fcb20..ce6a57a3 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/SecurityScheme.java @@ -25,11 +25,12 @@ *
                                  • SASL (Simple Authentication and Security Layer) as defined in RFC4422.
                                  • *
                                  * - * This object MAY be extended with Specification Extensions. + * This object MAY be extended with {@link ExtendableObject}. * - * @version 3.0.0 - * @see Security Scheme Object + * @see Specification Extensions + * @see Security Scheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -60,7 +61,7 @@ public class SecurityScheme extends ExtendableObject { /** - * REQUIRED. + * REQUIRED. *

                                  * The type of the security scheme. Valid values are: *

                                    From 3fbd254e750b77bd3ac3f8f8ebcb1ebba4a646c6 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 02:37:03 +0400 Subject: [PATCH 151/210] docs(3.0.0): update ServerBinding JavaDocs --- .../com/asyncapi/v3/binding/server/ServerBinding.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java index 531cf95d..d4c58f0e 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/server/ServerBinding.java @@ -4,10 +4,14 @@ import lombok.EqualsAndHashCode; /** - * Describes AsyncAPI server binding. + * Describes protocol-specific definition for a server. + *

                                    + * This object MAY be extended with {@link ExtendableObject}. * - * @version 3.0.0 + * @see Specification Extensions + * @see Server Binding * @author Pavel Bodiachevskii + * @version 3.0.0 */ @EqualsAndHashCode(callSuper = true) public class ServerBinding extends ExtendableObject { From 613a6f9c20884a5235b602ab81186c141eae6ce6 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 03:01:40 +0400 Subject: [PATCH 152/210] docs(3.0.0): update Channel JavaDocs --- .../v3/_0_0/model/channel/Channel.java | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java index 91d91de9..8c93f831 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Channel.java @@ -21,9 +21,9 @@ /** * Describes a shared communication channel. * - * @version 3.0.0 - * @see ChannelItem + * @see Channel * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -34,10 +34,17 @@ public class Channel extends ExtendableObject { /** * An optional string representation of this channel's address. The address is typically the "topic name", - * "routing key", "event type", or "path". When null or absent, it MUST be interpreted as unknown. + * "routing key", "event type", or "path". + *

                                    + * When null or absent, it MUST be interpreted as unknown. * This is useful when the address is generated dynamically at runtime or can't be known upfront. *

                                    - * It MAY contain Channel Address Expressions. + * It MAY contain Channel Address Expressions like {@code {userId}} + *

                                    + * Query parameters and fragments SHALL NOT be used, instead use {@link ChannelBinding} to define them. + * + * @see Channel bindings + * @see Channel Address Expressions */ @Nullable private String address; @@ -55,9 +62,7 @@ public class Channel extends ExtendableObject { private String summary; /** - * An optional description of this channel. - *

                                    - * CommonMark syntax can be used for rich text representation. + * An optional description of this channel. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; @@ -65,9 +70,13 @@ public class Channel extends ExtendableObject { /** * An array of $ref pointers to the definition of the servers in which this channel is available. *

                                    - * If servers is absent or empty, this channel MUST be available on all the servers defined in the Servers Object. - * Please note the servers property value MUST be an array of Reference Objects and, therefore, - * MUST NOT contain an array of Server Objects. + * If the channel is located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getChannels()}, + * it MUST point to a subset of server definitions located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getServers()}, + * and MUST NOT point to a subset of server definitions located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()} or anywhere else. + *

                                    + * If the channel is located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()}, it MAY point to a Server Objects in any location. + *

                                    + * If servers is absent or empty, this channel MUST be available on all the servers defined in {@link com.asyncapi.v3._0_0.model.AsyncAPI#getServers()}. *

                                    * However, it is RECOMMENDED that parsers (or other software) dereference this property * for a better development experience. @@ -78,13 +87,15 @@ public class Channel extends ExtendableObject { /** * A map of the parameters included in the channel address. *

                                    - * It MUST be present only when the address contains Channel Address Expressions. + * It MUST be present only when the address contains Channel Address Expressions like {@code {userId}}. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Parameter}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    + * + * @see Channel Address Expressions */ @Nullable @JsonDeserialize(using = ChannelParametersDeserializer.class) @@ -92,13 +103,13 @@ public class Channel extends ExtendableObject { /** * A map of the messages that will be sent to this channel by any application at any time. - * Every message sent to this channel MUST be valid against one, and only one, of the message - * objects defined in this map. + *

                                    + * Every message sent to this channel MUST be valid against one, and only one, of the {@link Message} defined in this map. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Message}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -110,8 +121,8 @@ public class Channel extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ChannelBinding}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -123,8 +134,8 @@ public class Channel extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Tag}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -136,8 +147,8 @@ public class Channel extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ExternalDocumentation}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable From dc21f4be90f40efb351100954356956de59a6535 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 23:13:21 +0400 Subject: [PATCH 153/210] docs(3.0.0): update Parameter JavaDocs --- .../com/asyncapi/v3/_0_0/model/channel/Parameter.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java index c624bb4d..2196d2e2 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/Parameter.java @@ -10,9 +10,9 @@ /** * Describes a parameter included in a channel address. * - * @version 3.0.0 - * @see Parameter + * @see Parameter * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -22,7 +22,7 @@ public class Parameter extends ExtendableObject { /** - * An optional description for the parameter. CommonMark syntax MAY be used for rich text representation. + * An optional description for the parameter. CommonMark syntax MAY be used for rich text representation. */ @Nullable private String description; @@ -49,6 +49,8 @@ public class Parameter extends ExtendableObject { /** * A runtime expression that specifies the location of the parameter value. + * + * @see Runtime Expression */ @Nullable private String location; From b99586aec7ef0df4b39efe6babdfd39a01070b27 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Thu, 1 Feb 2024 23:16:19 +0400 Subject: [PATCH 154/210] docs(3.0.0): update ChannelBinding JavaDocs --- .../com/asyncapi/v3/binding/channel/ChannelBinding.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java index f73b6f3e..825bc97b 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/channel/ChannelBinding.java @@ -4,9 +4,14 @@ import lombok.EqualsAndHashCode; /** - * Describes AsyncAPI channel binding. + * Describes protocol-specific definition for a channel. + *

                                    + * This object MAY be extended with {@link ExtendableObject}. * + * @see Specification Extensions + * @see Channel Binding * @author Pavel Bodiachevskii + * @version 3.0.0 */ @EqualsAndHashCode(callSuper = true) public class ChannelBinding extends ExtendableObject { From 34bbb6c06694b7875199f31eb5a67c7650a38097 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 00:40:21 +0400 Subject: [PATCH 155/210] feat(3.0.0): update Message and MessageTrait JavaDocs and delete messageId --- .../_0_0/model/channel/message/Message.java | 49 +++++++-------- .../model/channel/message/MessageTrait.java | 50 +++++++-------- .../_0_0/model/channel/message/MessageTest.kt | 3 - .../model/channel/message/MessageTraitTest.kt | 3 - .../v3/3.0.0/model/asyncapi - extended.json | 63 ------------------- .../model/asyncapi - wrongly extended.json | 63 ------------------- .../json/v3/3.0.0/model/asyncapi.json | 63 ------------------- .../model/channel/channel - extended.json | 12 ---- .../channel/channel - wrongly extended.json | 12 ---- .../channel with reference - extended.json | 12 ---- ...nel with reference - wrongly extended.json | 12 ---- .../model/channel/channel with reference.json | 12 ---- .../json/v3/3.0.0/model/channel/channel.json | 12 ---- .../channel/message/message - extended.json | 4 -- .../message/message - wrongly extended.json | 4 -- .../channel/message/message 2 - extended.json | 4 -- .../message/message 2 - wrongly extended.json | 4 -- .../model/channel/message/message 2.json | 4 -- .../message with reference - extended.json | 4 -- ...age with reference - wrongly extended.json | 4 -- .../message/message with reference.json | 4 -- .../3.0.0/model/channel/message/message.json | 4 -- .../message/messageTrait - extended.json | 1 - .../messageTrait - wrongly extended.json | 1 - .../message/messageTrait 2 - extended.json | 1 - .../messageTrait 2 - wrongly extended.json | 1 - .../model/channel/message/messageTrait 2.json | 1 - ...essageTrait with reference - extended.json | 1 - ...ait with reference - wrongly extended.json | 1 - .../message/messageTrait with reference.json | 1 - .../model/channel/message/messageTrait.json | 1 - .../components/components - extended.json | 39 ------------ .../components - wrongly extended.json | 39 ------------ .../v3/3.0.0/model/components/components.json | 39 ------------ 34 files changed, 44 insertions(+), 484 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java index c8ab1ea0..a25dcb8c 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/Message.java @@ -21,9 +21,9 @@ /** * Describes a message received on a given channel and operation. * - * @version 3.0.0 - * @see Message + * @see Message * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -32,16 +32,6 @@ @EqualsAndHashCode(callSuper = true) public class Message extends ExtendableObject { - /** - * Unique string used to identify the message. - *

                                    - * The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. - * Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to - * follow common programming naming conventions. - */ - @Nullable - private String messageId; - /** * Schema definition of the application headers. *

                                    @@ -49,15 +39,15 @@ public class Message extends ExtendableObject { *

                                    * It MUST NOT define the protocol headers. *

                                    - * If this is a Schema Object, then the schemaFormat will be assumed to + * If this is a {@link com.asyncapi.v3.schema.Schema}, then the schemaFormat will be assumed to * be "application/vnd.aai.asyncapi+json;version=asyncapi" where the version * is equal to the AsyncAPI Version String. *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link com.asyncapi.v3.schema.Schema}
                                    • *
                                    • {@link com.asyncapi.v3.schema.MultiFormatSchema}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -65,14 +55,16 @@ public class Message extends ExtendableObject { private Object headers; /** - * Definition of the message payload. If this is a Schema Object, then the schemaFormat will be assumed to be + * Definition of the message payload. + *

                                    + * If this is a {@link com.asyncapi.v3.schema.Schema}, then the schemaFormat will be assumed to be * "application/vnd.aai.asyncapi+json;version=asyncapi" where the version is equal to the AsyncAPI Version String. *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link com.asyncapi.v3.schema.Schema}
                                    • *
                                    • {@link com.asyncapi.v3.schema.MultiFormatSchema}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -84,16 +76,19 @@ public class Message extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link CorrelationId}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @JsonDeserialize(using = MessageCorrelationIdDeserializer.class) private Object correlationId; /** - * The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type - * (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field. + * The content type to use when encoding/decoding a message's payload. + *

                                    + * The value MUST be a specific media type (e.g. application/json). + *

                                    + * When omitted, the value MUST be the one specified on the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getDefaultContentType()} field. */ @Nullable private String contentType; @@ -117,7 +112,7 @@ public class Message extends ExtendableObject { private String summary; /** - * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. + * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; @@ -127,8 +122,8 @@ public class Message extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link com.asyncapi.v3.binding.message.MessageBinding}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -143,13 +138,15 @@ public class Message extends ExtendableObject { /** * A list of traits to apply to the message object. Traits MUST be merged using traits merge mechanism. - * The resulting object MUST be a valid Message Object. + * The resulting object MUST be a valid {@link Message}. *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link com.asyncapi.v3._0_0.model.channel.message.MessageTrait}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    + * + * @see Traits Merge Mechanism */ @Nullable @JsonDeserialize(using = MessageTraitsDeserializer.class) @@ -160,8 +157,8 @@ public class Message extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    • {@link Tag}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -169,12 +166,12 @@ public class Message extends ExtendableObject { private List tags; /** - * Additional external documentation for this channel. + * Additional external documentation for this message. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ExternalDocumentation}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java index 19417966..9cf31a74 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java @@ -8,10 +8,7 @@ import com.asyncapi.v3._0_0.jackson.model.channel.message.MessageHeadersDeserializer; import com.asyncapi.v3._0_0.model.ExternalDocumentation; import com.asyncapi.v3._0_0.model.Tag; -import com.asyncapi.v3.binding.message.MessageBinding; import com.asyncapi.v3.jackson.binding.message.MessageBindingsDeserializer; -import com.asyncapi.v3.schema.MultiFormatSchema; -import com.asyncapi.v3.schema.Schema; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.*; import org.jetbrains.annotations.Nullable; @@ -20,11 +17,13 @@ import java.util.Map; /** - * Describes a message received on a given channel and operation. + * Describes a trait that MAY be applied to a {@link Message}. + *

                                    + * This object MAY contain any property from the {@link Message}, except {@link Message#getPayload()} and {@link Message#getTraits()}. * - * @version 3.0.0 - * @see Message + * @see Message Trait * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -33,16 +32,6 @@ @EqualsAndHashCode(callSuper = true) public class MessageTrait extends ExtendableObject { - /** - * Unique string used to identify the message. - *

                                    - * The id MUST be unique among all messages described in the API. The messageId value is case-sensitive. - * Tools and libraries MAY use the messageId to uniquely identify a message, therefore, it is RECOMMENDED to - * follow common programming naming conventions. - */ - @Nullable - private String messageId; - /** * Schema definition of the application headers. *

                                    @@ -50,15 +39,15 @@ public class MessageTrait extends ExtendableObject { *

                                    * It MUST NOT define the protocol headers. *

                                    - * If this is a Schema Object, then the schemaFormat will be assumed to + * If this is a {@link com.asyncapi.v3.schema.Schema}, then the schemaFormat will be assumed to * be "application/vnd.aai.asyncapi+json;version=asyncapi" where the version * is equal to the AsyncAPI Version String. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • - *
                                    • {@link Schema}
                                    • - *
                                    • {@link MultiFormatSchema}
                                    • + *
                                    • {@link com.asyncapi.v3.schema.Schema}
                                    • + *
                                    • {@link com.asyncapi.v3.schema.MultiFormatSchema}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -70,16 +59,19 @@ public class MessageTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link CorrelationId}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @JsonDeserialize(using = MessageCorrelationIdDeserializer.class) private Object correlationId; /** - * The content type to use when encoding/decoding a message's payload. The value MUST be a specific media type - * (e.g. application/json). When omitted, the value MUST be the one specified on the defaultContentType field. + * The content type to use when encoding/decoding a message's payload. + *

                                    + * The value MUST be a specific media type (e.g. application/json). + *

                                    + * When omitted, the value MUST be the one specified on the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getDefaultContentType()} field. */ @Nullable private String contentType; @@ -103,7 +95,7 @@ public class MessageTrait extends ExtendableObject { private String summary; /** - * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. + * A verbose explanation of the message. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; @@ -113,8 +105,8 @@ public class MessageTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • - *
                                    • {@link MessageBinding}
                                    • + *
                                    • {@link com.asyncapi.v3.binding.message.MessageBinding}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -132,8 +124,8 @@ public class MessageTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Tag}
                                    • + *
                                    • {@link com.asyncapi.v3.Reference}
                                    • *
                                    */ @Nullable @@ -141,12 +133,12 @@ public class MessageTrait extends ExtendableObject { private List tags; /** - * Additional external documentation for this channel. + * Additional external documentation for this message. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ExternalDocumentation}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt index f89217b3..25f4d846 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt @@ -26,7 +26,6 @@ class MessageTestWithSchema: SerDeTest() { override fun build(): Message { return Message.builder() - .messageId("userSignup") .headers(Schema.builder() .type("object") .properties(mapOf( @@ -122,7 +121,6 @@ class MessageTestWithReference: SerDeTest() { override fun build(): Message { return Message.builder() - .messageId("userSignup") .headers(Reference("#/components/messages/message-header")) .payload(Reference("#/components/messages/message-payload")) .correlationId(Reference("#/components/messages/message-correlation-id")) @@ -182,7 +180,6 @@ class MessageTestWithMultiFormatSchema: SerDeTest() { override fun build(): Message { return Message.builder() - .messageId("userSignup") .headers(MultiFormatSchema.builder() .schemaFormat("application/vnd.aai.asyncapi+json;version=3.0.0") .schema(linkedMapOf( diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt index afaf90a2..a337a64a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt @@ -26,7 +26,6 @@ class MessageTraitTestWithSchema: SerDeTest() { override fun build(): MessageTrait { return MessageTrait.builder() - .messageId("userSignup") .headers(Schema.builder() .type("object") .properties(mapOf( @@ -98,7 +97,6 @@ class MessageTraitTestWithReference: SerDeTest() { override fun build(): MessageTrait { return MessageTrait.builder() - .messageId("userSignup") .headers(Reference("#/components/messages/message-header")) .correlationId(Reference("#/components/messages/message-correlation-id")) .contentType("application/json") @@ -152,7 +150,6 @@ class MessageTraitTestWithMultiFormatSchema: SerDeTest() { override fun build(): MessageTrait { return MessageTrait.builder() - .messageId("userSignup") .headers(MultiFormatSchema.builder() .schemaFormat("application/vnd.aai.asyncapi+json;version=3.0.0") .schema(linkedMapOf( diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json index f984dcc6..39752299 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json @@ -255,7 +255,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -398,7 +397,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -543,7 +541,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -678,7 +675,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -839,7 +835,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -987,7 +982,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1132,7 +1126,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1267,7 +1260,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -1429,7 +1421,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1555,7 +1546,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1700,7 +1690,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1835,7 +1824,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2184,7 +2172,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -2327,7 +2314,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -2472,7 +2458,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -2607,7 +2592,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2768,7 +2752,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2916,7 +2899,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -3061,7 +3043,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3196,7 +3177,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -3358,7 +3338,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3484,7 +3463,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -3629,7 +3607,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3764,7 +3741,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5217,7 +5193,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -5360,7 +5335,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -5505,7 +5479,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -5640,7 +5613,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5801,7 +5773,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5949,7 +5920,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -6094,7 +6064,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6229,7 +6198,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -6391,7 +6359,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6517,7 +6484,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -6662,7 +6628,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6797,7 +6762,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -7146,7 +7110,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -7289,7 +7252,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -7434,7 +7396,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -7569,7 +7530,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -7730,7 +7690,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -7878,7 +7837,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -8023,7 +7981,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -8158,7 +8115,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -8320,7 +8276,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -8446,7 +8401,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -8591,7 +8545,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -8726,7 +8679,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -10053,7 +10005,6 @@ }, "messages" : { "message 1" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -10196,7 +10147,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -10341,7 +10291,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -10476,7 +10425,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -10637,7 +10585,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -10785,7 +10732,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -10930,7 +10876,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -11065,7 +11010,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -11227,7 +11171,6 @@ } }, "message 3" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -11353,7 +11296,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -11498,7 +11440,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -11633,7 +11574,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -12234,7 +12174,6 @@ }, "messageTraits" : { "messageTrait 1" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -12380,7 +12319,6 @@ } }, "messageTrait 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -12529,7 +12467,6 @@ } }, "messageTrait 3" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json index e094a307..a5b7b4ed 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json @@ -271,7 +271,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -430,7 +429,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -580,7 +578,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -719,7 +716,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -873,7 +869,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1037,7 +1032,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1187,7 +1181,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1326,7 +1319,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1480,7 +1472,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1622,7 +1613,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1772,7 +1762,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1911,7 +1900,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2277,7 +2265,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2436,7 +2423,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2586,7 +2572,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -2725,7 +2710,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2879,7 +2863,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3043,7 +3026,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3193,7 +3175,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3332,7 +3313,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3486,7 +3466,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3628,7 +3607,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3778,7 +3756,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3917,7 +3894,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5576,7 +5552,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5735,7 +5710,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5885,7 +5859,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6024,7 +5997,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6178,7 +6150,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6342,7 +6313,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6492,7 +6462,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6631,7 +6600,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6785,7 +6753,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6927,7 +6894,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7077,7 +7043,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -7216,7 +7181,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7582,7 +7546,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7741,7 +7704,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7891,7 +7853,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8030,7 +7991,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8184,7 +8144,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8348,7 +8307,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -8498,7 +8456,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8637,7 +8594,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8791,7 +8747,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8933,7 +8888,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -9083,7 +9037,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -9222,7 +9175,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -10748,7 +10700,6 @@ }, "messages": { "message 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -10907,7 +10858,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -11057,7 +11007,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -11196,7 +11145,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11350,7 +11298,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11514,7 +11461,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -11664,7 +11610,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -11803,7 +11748,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11957,7 +11901,6 @@ ] }, "message 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -12099,7 +12042,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -12249,7 +12191,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -12388,7 +12329,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -13052,7 +12992,6 @@ }, "messageTraits": { "messageTrait 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -13202,7 +13141,6 @@ ] }, "messageTrait 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -13354,7 +13292,6 @@ ] }, "messageTrait 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json index ee0257c0..2f82a82d 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json @@ -271,7 +271,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -430,7 +429,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -580,7 +578,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -719,7 +716,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -873,7 +869,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1037,7 +1032,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1187,7 +1181,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1326,7 +1319,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1480,7 +1472,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1622,7 +1613,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1772,7 +1762,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1911,7 +1900,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2277,7 +2265,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2436,7 +2423,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2586,7 +2572,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -2725,7 +2710,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2879,7 +2863,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3043,7 +3026,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3193,7 +3175,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3332,7 +3313,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3486,7 +3466,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3628,7 +3607,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3778,7 +3756,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3917,7 +3894,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5576,7 +5552,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5735,7 +5710,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5885,7 +5859,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6024,7 +5997,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6178,7 +6150,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6342,7 +6313,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6492,7 +6462,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6631,7 +6600,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6785,7 +6753,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6927,7 +6894,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7077,7 +7043,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -7216,7 +7181,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7582,7 +7546,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7741,7 +7704,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7891,7 +7853,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8030,7 +7991,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8184,7 +8144,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8348,7 +8307,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -8498,7 +8456,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8637,7 +8594,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -8791,7 +8747,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -8933,7 +8888,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -9083,7 +9037,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -9222,7 +9175,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -10748,7 +10700,6 @@ }, "messages": { "message 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -10907,7 +10858,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -11057,7 +11007,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -11196,7 +11145,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11350,7 +11298,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11514,7 +11461,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -11664,7 +11610,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -11803,7 +11748,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -11957,7 +11901,6 @@ ] }, "message 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -12099,7 +12042,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -12249,7 +12191,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -12388,7 +12329,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -13052,7 +12992,6 @@ }, "messageTraits": { "messageTrait 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -13202,7 +13141,6 @@ ] }, "messageTrait 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -13354,7 +13292,6 @@ ] }, "messageTrait 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json index 72243656..ee8b9769 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - extended.json @@ -27,7 +27,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -170,7 +169,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -315,7 +313,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -450,7 +447,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -611,7 +607,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -759,7 +754,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -904,7 +898,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1039,7 +1032,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -1201,7 +1193,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1327,7 +1318,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1472,7 +1462,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1607,7 +1596,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json index 97175680..8486e6b1 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel - wrongly extended.json @@ -31,7 +31,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -190,7 +189,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -340,7 +338,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -479,7 +476,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -633,7 +629,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -797,7 +792,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -947,7 +941,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1086,7 +1079,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1240,7 +1232,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1382,7 +1373,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1532,7 +1522,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1671,7 +1660,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json index dcc4605f..26ba2e35 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - extended.json @@ -27,7 +27,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -170,7 +169,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -315,7 +313,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -450,7 +447,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -611,7 +607,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -759,7 +754,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -904,7 +898,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1039,7 +1032,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -1201,7 +1193,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1327,7 +1318,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1472,7 +1462,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1607,7 +1596,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json index 9efbe3a8..2dba6547 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference - wrongly extended.json @@ -31,7 +31,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -190,7 +189,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -340,7 +338,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -479,7 +476,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -633,7 +629,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -797,7 +792,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -947,7 +941,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1086,7 +1079,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1240,7 +1232,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1382,7 +1373,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1532,7 +1522,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1671,7 +1660,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json index d60772f8..a492cd68 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel with reference.json @@ -31,7 +31,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -190,7 +189,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -340,7 +338,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -479,7 +476,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -633,7 +629,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -797,7 +792,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -947,7 +941,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1086,7 +1079,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1240,7 +1232,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1382,7 +1373,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1532,7 +1522,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1671,7 +1660,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json index 35db9993..20388e10 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/channel.json @@ -31,7 +31,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -190,7 +189,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -340,7 +338,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -479,7 +476,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -633,7 +629,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -797,7 +792,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -947,7 +941,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1086,7 +1079,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1240,7 +1232,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1382,7 +1373,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1532,7 +1522,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1671,7 +1660,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json index 18ef0098..b46b9cac 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -142,7 +141,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -287,7 +285,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -422,7 +419,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json index 5a27b02c..5848c90f 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -158,7 +157,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -308,7 +306,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -447,7 +444,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json index d671c764..02e8b9d8 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -147,7 +146,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -292,7 +290,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -427,7 +424,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json index f80d7fc1..798dea70 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2 - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -163,7 +162,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -313,7 +311,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -452,7 +449,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json index af63777e..140939d5 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message 2.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -163,7 +162,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -313,7 +311,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -452,7 +449,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json index b5b5f5fc..d6e27026 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -125,7 +124,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -270,7 +268,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -405,7 +402,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json index c9fab724..e207c4e4 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -141,7 +140,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -291,7 +289,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -430,7 +427,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json index 75614fd8..60629b5b 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message with reference.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -141,7 +140,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -291,7 +289,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -430,7 +427,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json index 4b6fcdbf..225f0827 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/message.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -158,7 +157,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -308,7 +306,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -447,7 +444,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json index 02ac4644..bb367ffe 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json index b780fa7c..4e472db0 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json index 6a154c25..c2dd50c7 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json index 45defcb4..372e9a77 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2 - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers": { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json index 77c98c8b..c9b26960 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait 2.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json index 388e54f6..7bd1b597 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - extended.json @@ -1,5 +1,4 @@ { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json index 659f5936..accf02a6 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference - wrongly extended.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json index cdc5730a..170d3c6a 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait with reference.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json index 1d7388c1..6d03fca2 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/channel/message/messageTrait.json @@ -1,5 +1,4 @@ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json index 16d5e98c..1af6cec8 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json @@ -171,7 +171,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -314,7 +313,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -459,7 +457,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -594,7 +591,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -755,7 +751,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -903,7 +898,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1048,7 +1042,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1183,7 +1176,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -1345,7 +1337,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1471,7 +1462,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -1616,7 +1606,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -1751,7 +1740,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2100,7 +2088,6 @@ "$ref" : "#/components/parameters/user-status" }, "message" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -2243,7 +2230,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -2388,7 +2374,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -2523,7 +2508,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2684,7 +2668,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -2832,7 +2815,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -2977,7 +2959,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3112,7 +3093,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -3274,7 +3254,6 @@ } }, "message with reference" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3400,7 +3379,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -3545,7 +3523,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -3680,7 +3657,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5007,7 +4983,6 @@ }, "messages" : { "message 1" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -5150,7 +5125,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -5295,7 +5269,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -5430,7 +5403,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5591,7 +5563,6 @@ } }, "message 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -5739,7 +5710,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -5884,7 +5854,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6019,7 +5988,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -6181,7 +6149,6 @@ } }, "message 3" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6307,7 +6274,6 @@ "summary" : "A simple UserSignup example message" } ], "traits" : [ { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -6452,7 +6418,6 @@ "url" : "messages/sign-up-rules" } }, { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, @@ -6587,7 +6552,6 @@ "$ref" : "#/components/externalDocs/external-doc" } }, { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -7188,7 +7152,6 @@ }, "messageTraits" : { "messageTrait 1" : { - "messageId" : "userSignup", "headers" : { "type" : "object", "properties" : { @@ -7334,7 +7297,6 @@ } }, "messageTrait 2" : { - "messageId" : "userSignup", "headers" : { "schemaFormat" : "application/vnd.aai.asyncapi+json;version=3.0.0", "schema" : { @@ -7483,7 +7445,6 @@ } }, "messageTrait 3" : { - "messageId" : "userSignup", "headers" : { "$ref" : "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json index 3ed77cdd..be1ae030 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json @@ -186,7 +186,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -345,7 +344,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -495,7 +493,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -634,7 +631,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -788,7 +784,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -952,7 +947,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1102,7 +1096,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1241,7 +1234,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1395,7 +1387,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1537,7 +1528,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1687,7 +1677,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1826,7 +1815,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2192,7 +2180,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2351,7 +2338,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2501,7 +2487,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -2640,7 +2625,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2794,7 +2778,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2958,7 +2941,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3108,7 +3090,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3247,7 +3228,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3401,7 +3381,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3543,7 +3522,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3693,7 +3671,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3832,7 +3809,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5358,7 +5334,6 @@ }, "messages": { "message 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5517,7 +5492,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5667,7 +5641,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -5806,7 +5779,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5960,7 +5932,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6124,7 +6095,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6274,7 +6244,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6413,7 +6382,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6567,7 +6535,6 @@ ] }, "message 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6709,7 +6676,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6859,7 +6825,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6998,7 +6963,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7662,7 +7626,6 @@ }, "messageTraits": { "messageTrait 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7812,7 +7775,6 @@ ] }, "messageTrait 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7964,7 +7926,6 @@ ] }, "messageTrait 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json index ddd25dc1..c67c2b5c 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json @@ -186,7 +186,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -345,7 +344,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -495,7 +493,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -634,7 +631,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -788,7 +784,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -952,7 +947,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1102,7 +1096,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1241,7 +1234,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -1395,7 +1387,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1537,7 +1528,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -1687,7 +1677,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -1826,7 +1815,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2192,7 +2180,6 @@ "messages": { "changeStatus": { "$ref": "#/components/parameters/user-status"}, "message": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2351,7 +2338,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -2501,7 +2487,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -2640,7 +2625,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2794,7 +2778,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -2958,7 +2941,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3108,7 +3090,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3247,7 +3228,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -3401,7 +3381,6 @@ ] }, "message with reference": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3543,7 +3522,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -3693,7 +3671,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -3832,7 +3809,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5358,7 +5334,6 @@ }, "messages": { "message 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5517,7 +5492,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -5667,7 +5641,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -5806,7 +5779,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -5960,7 +5932,6 @@ ] }, "message 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6124,7 +6095,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6274,7 +6244,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6413,7 +6382,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -6567,7 +6535,6 @@ ] }, "message 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6709,7 +6676,6 @@ ], "traits": [ { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -6859,7 +6825,6 @@ ] }, { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, @@ -6998,7 +6963,6 @@ ] }, { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7662,7 +7626,6 @@ }, "messageTraits": { "messageTrait 1": { - "messageId": "userSignup", "headers": { "type": "object", "properties": { @@ -7812,7 +7775,6 @@ ] }, "messageTrait 2": { - "messageId": "userSignup", "headers": { "schemaFormat": "application/vnd.aai.asyncapi+json;version=3.0.0", "schema": { @@ -7964,7 +7926,6 @@ ] }, "messageTrait 3": { - "messageId": "userSignup", "headers": { "$ref": "#/components/messages/message-header" }, From cd4e7f9c4a749584579a6e6c254b552d5ea51a1f Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 01:40:38 +0400 Subject: [PATCH 156/210] docs(3.0.0): update MultiFormatSchema JavaDocs --- .../asyncapi/v3/schema/MultiFormatSchema.java | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java index 64192dc5..62dc3d8a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/MultiFormatSchema.java @@ -5,8 +5,13 @@ import org.jetbrains.annotations.NotNull; /** - * The Multi Format Schema Object represents a schema definition. It differs from the Schema Object in that it supports + * The Multi Format Schema Object represents a schema definition. It differs from the {@link Schema} in that it supports * multiple schema formats or languages (e.g., JSON Schema, Avro, etc.). + * + * @see Multi Format Schema + * @see Schema + * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -16,32 +21,42 @@ public class MultiFormatSchema extends ExtendableObject { /** - * Required. + * Required. + *

                                    + * A string containing the name of the schema format that is used to define the information. + *

                                    + * If schemaFormat is missing, it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} + * where {{asyncapi}} matches the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getAsyncapi()} version string. + *

                                    + * In such a case, this would make the Multi Format Schema Object equivalent to the {@link Schema}. + *

                                    + * When using {@link com.asyncapi.v3.Reference} within the {@link #getSchema()}, the schemaFormat of the resource being referenced MUST match + * the schemaFormat of the {@link #getSchema()} that contains the initial reference. *

                                    - * A string containing the name of the schema format that is used to define the information. If schemaFormat is missing, - * it MUST default to application/vnd.aai.asyncapi+json;version={{asyncapi}} where {{asyncapi}} matches the AsyncAPI Version String. - * In such a case, this would make the Multi Format Schema Object equivalent to the Schema Object. When using Reference Object - * within the schema, the schemaFormat of the resource being referenced MUST match the schemaFormat of the schema that contains the - * initial reference. * For example, if you reference Avro schema, then schemaFormat of referencing resource and the resource being reference MUST match. *

                                    - * Check out the supported schema formats table for more information. Custom values are allowed but their implementation is OPTIONAL. + *

                                    + * Check out the supported schema formats table for more information. + * Custom values are allowed but their implementation is OPTIONAL. * A custom value MUST NOT refer to one of the schema formats listed in the table. *

                                    - * When using Reference Objects within the schema, the schemaFormat of the referenced resource MUST match the schemaFormat - * of the schema containing the reference. + *

                                    + * When using {@link com.asyncapi.v3.Reference} within the {@link #getSchema()}, the schemaFormat of the referenced resource MUST + * match the schemaFormat of the schema containing the reference. + * + * @see Schema formats table */ @NotNull private String schemaFormat; /** - * Required. + * Required. *

                                    * Definition of the message payload. *

                                    - * It can be of any type but defaults to Schema Object. + * It can be of any type but defaults to {@link Schema}. *

                                    - * It MUST match the schema format defined in schemaFormat, including the encoding type. E.g., Avro should be + * It MUST match the schema format defined in {@link #getSchemaFormat()}, including the encoding type. E.g., Avro should be * inlined as either a YAML or JSON object instead of as a string to be parsed as YAML or JSON. Non-JSON-based * schemas (e.g., Protobuf or XSD) MUST be inlined as a string. */ From 12591974876461f0a0565902c773bf35faf8bb9b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 01:44:47 +0400 Subject: [PATCH 157/210] docs(3.0.0): update CorrelationId JavaDocs --- .../v3/_0_0/model/channel/message/CorrelationId.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java index 09b97a06..b7bfea89 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/CorrelationId.java @@ -8,11 +8,12 @@ /** * An object that specifies an identifier at design time that can used for message tracing and correlation. *
                                    - * For specifying and computing the location of a Correlation ID, a runtime expression is used. + * For specifying and computing the location of a Correlation ID, a runtime expression is used. * - * @version 3.0.0 - * @see CorrelationId + * @see Correlation ID + * @see Runtime Expression * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -28,9 +29,9 @@ public class CorrelationId extends ExtendableObject { private String description; /** - * REQUIRED. + * REQUIRED. *

                                    - * A runtime expression that specifies the location of the correlation ID. + * A runtime expression that specifies the location of the correlation ID. */ @NotNull @Builder.Default From 451d60879e5a3666092997b244efd0b252220cc1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 01:48:03 +0400 Subject: [PATCH 158/210] docs(3.0.0): update MessageExample JavaDocs --- .../v3/_0_0/model/channel/message/MessageExample.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java index 19eae372..62b751c4 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java @@ -7,7 +7,11 @@ import java.util.Map; /** - * Message Example Object represents an example of a {@link Message} Object and MUST contain either headers and/or payload fields. + * Message Example Object represents an example of a {@link Message} Object and MUST contain either {@link Message#getHeaders()} and/or {@link Message#getPayload()} fields. + * + * @see Message Example + * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder From f78e5d5c284ae8f082f95913f613d04f070e63d1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 01:57:10 +0400 Subject: [PATCH 159/210] docs(3.0.0): update MessageExample and MessageTrait JavaDocs --- .../asyncapi/v3/_0_0/model/channel/message/MessageExample.java | 2 +- .../asyncapi/v3/_0_0/model/channel/message/MessageTrait.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java index 62b751c4..6593ff02 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageExample.java @@ -7,7 +7,7 @@ import java.util.Map; /** - * Message Example Object represents an example of a {@link Message} Object and MUST contain either {@link Message#getHeaders()} and/or {@link Message#getPayload()} fields. + * Message Example Object represents an example of a {@link Message} Object and MUST contain either {@link Message} headers and/or {@link Message} fields. * * @see Message Example * @author Pavel Bodiachevskii diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java index 9cf31a74..fc0fad74 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/channel/message/MessageTrait.java @@ -19,7 +19,7 @@ /** * Describes a trait that MAY be applied to a {@link Message}. *

                                    - * This object MAY contain any property from the {@link Message}, except {@link Message#getPayload()} and {@link Message#getTraits()}. + * This object MAY contain any property from the {@link Message}, except {@link Message} payload and {@link Message} traits. * * @see Message Trait * @author Pavel Bodiachevskii From 81cbfafc71fa0ed38ea120a097eecf2917c982f3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 22:20:18 +0400 Subject: [PATCH 160/210] docs(3.0.0): update Operation JavaDocs --- .../v3/_0_0/model/operation/Operation.java | 58 ++++++++++++------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java index 71e08da5..81310044 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/Operation.java @@ -24,9 +24,9 @@ /** * Describes a specific operation. * - * @version 3.0.0 - * @see Operation + * @see Operation * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -36,19 +36,26 @@ public class Operation extends ExtendableObject { /** - * Required. + * Required. *

                                    - * Use send when it's expected that the application will send a message to the given channel, and receive when - * the application should expect receiving messages from the given channel. + * Use send when it's expected that the application will send a message to the given {@link com.asyncapi.v3._0_0.model.channel.Channel}, + * and receive when the application should expect receiving messages from the given {@link com.asyncapi.v3._0_0.model.channel.Channel}. */ @NotNull private OperationAction action; /** - * Required. + * Required. *

                                    * A $ref pointer to the definition of the channel in which this operation is performed. + *

                                    + * If the operation is located in the root {@link com.asyncapi.v3._0_0.model.AsyncAPI#getOperations()}, it MUST point to a channel + * definition located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getChannels()}, and MUST NOT point to a channel definition located + * in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()} or anywhere else. + *

                                    + * If the operation is located in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()}, it MAY point to a Channel Object in any location. * Please note the channel property value MUST be a Reference Object and, therefore, MUST NOT contain a Channel Object. + *

                                    * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. */ @NotNull @@ -67,20 +74,22 @@ public class Operation extends ExtendableObject { private String summary; /** - * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. + * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; /** * A declaration of which security schemes are associated with this operation. - * Only one of the security scheme objects MUST be satisfied to authorize an operation. + *

                                    + * Only one of the {@link SecurityScheme} objects MUST be satisfied to authorize an operation. + *

                                    * In cases where Server Security also applies, it MUST also be satisfied. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link SecurityScheme}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -92,8 +101,8 @@ public class Operation extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Tag}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -105,8 +114,8 @@ public class Operation extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ExternalDocumentation}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -118,8 +127,8 @@ public class Operation extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link OperationBinding}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -128,25 +137,32 @@ public class Operation extends ExtendableObject { /** * A list of traits to apply to the operation object. Traits MUST be merged using traits merge mechanism. - * The resulting object MUST be a valid Operation Object. + *

                                    + * The resulting object MUST be a valid {@link Operation}. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link OperationTrait}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    + * + * @see Traits Merge Mechanism */ @Nullable @JsonDeserialize(using = OperationTraitsDeserializer.class) private List traits; /** - * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. - * It MUST contain a subset of the messages defined in the channel referenced in this operation. - * Every message processed by this operation MUST be valid against one, and only one, of the message objects - * referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, - * therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) - * dereference this property for a better development experience. + * A list of $ref pointers pointing to the supported {@link com.asyncapi.v3._0_0.model.channel.message.Message} that can be processed by this operation. + *

                                    + * It MUST contain a subset of the messages defined in the channel referenced in this operation - {@link Operation#getChannel()}, + * and MUST NOT point to a subset of message definitions located in the {@link com.asyncapi.v3._0_0.model.component.Components#getMessages()} in the {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()} or anywhere else. + *

                                    + * Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. + *

                                    + * Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. + *

                                    + * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. */ @Nullable private List messages; @@ -156,8 +172,8 @@ public class Operation extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link OperationReply}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable From f8b235a93c0e8715ea11c6f985d33c85c3cf9d56 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 22:25:04 +0400 Subject: [PATCH 161/210] docs(3.0.0): update OperationAction JavaDocs --- .../v3/_0_0/model/operation/OperationAction.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java index 17bd85b7..b4b99d0a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationAction.java @@ -2,11 +2,24 @@ import com.fasterxml.jackson.annotation.JsonProperty; +/** + * Describes a specific operation action. + * + * @see Operation + * @author Pavel Bodiachevskii + * @version 3.0.0 + */ public enum OperationAction { + /** + * Use send when it's expected that the application will send a message to the given {@link com.asyncapi.v3._0_0.model.channel.Channel}. + */ @JsonProperty("send") SEND, + /** + * Use receive when the application should expect receiving messages from the given {@link com.asyncapi.v3._0_0.model.channel.Channel}. + */ @JsonProperty("receive") RECEIVE From 9933391f79374b78ca723436dbfe377dd5af00d1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 22:31:46 +0400 Subject: [PATCH 162/210] docs(3.0.0): update OperationBinding JavaDocs --- .../asyncapi/v3/binding/operation/OperationBinding.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java index 091629c8..c055ade8 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/binding/operation/OperationBinding.java @@ -4,9 +4,14 @@ import lombok.EqualsAndHashCode; /** - * Describes AsyncAPI operation binding. + * Describes protocol-specific definition for an operation. + *

                                    + * This object MAY be extended with {@link ExtendableObject}. * + * @see Specification Extensions + * @see Operation Binding * @author Pavel Bodiachevskii + * @version 3.0.0 */ @EqualsAndHashCode(callSuper = true) public class OperationBinding extends ExtendableObject { From e357786e592a0d7f2b19934e8330dc2ac6d8c673 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 22:33:53 +0400 Subject: [PATCH 163/210] docs(3.0.0): update OperationReplyAddress JavaDocs --- .../model/operation/reply/OperationReplyAddress.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java index 768711d0..8a9875ba 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReplyAddress.java @@ -9,9 +9,10 @@ *

                                    * For specifying and computing the location of a reply address, a runtime expression is used. * - * @version 3.0.0 - * @see Operation + * @see Operation Reply Address + * @see Runtime Expression * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -21,15 +22,17 @@ public class OperationReplyAddress extends ExtendableObject { /** - * An optional description of the address. CommonMark syntax can be used for rich text representation. + * An optional description of the address. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; /** - * REQUIRED. + * REQUIRED. *

                                    * A runtime expression that specifies the location of the reply address. + * + * @see Runtime Expression */ @Nullable private String location; From dcc87b083ae7d7ddaacc69dd1225481ac413d98c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 2 Feb 2024 22:56:50 +0400 Subject: [PATCH 164/210] docs(3.0.0): update OperationTrait JavaDocs --- .../_0_0/model/operation/OperationTrait.java | 46 +--- .../model/operation/OperationTraitTest.kt | 12 - .../v3/3.0.0/model/asyncapi - extended.json | 165 ------------- .../model/asyncapi - wrongly extended.json | 225 ------------------ .../json/v3/3.0.0/model/asyncapi.json | 225 ------------------ .../components/components - extended.json | 99 -------- .../components - wrongly extended.json | 121 ---------- .../v3/3.0.0/model/components/components.json | 135 ----------- .../model/operation/operation - extended.json | 33 --- .../operation - wrongly extended.json | 45 ---- .../operation with reference - extended.json | 33 --- ...ion with reference - wrongly extended.json | 45 ---- .../operation/operation with reference.json | 45 ---- .../v3/3.0.0/model/operation/operation.json | 45 ---- .../operation/operationTrait - extended.json | 23 -- .../operationTrait - wrongly extended.json | 31 --- ...rationTrait with reference - extended.json | 10 - ...ait with reference - wrongly extended.json | 14 -- .../operationTrait with reference.json | 14 -- .../3.0.0/model/operation/operationTrait.json | 31 --- 20 files changed, 12 insertions(+), 1385 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java index 891a5ed2..8ea88346 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/OperationTrait.java @@ -20,12 +20,12 @@ import java.util.Map; /** - * Describes a trait that MAY be applied to an Operation Object. This object MAY contain any property from the - * Operation Object, except the action, channel and traits ones. + * Describes a trait that MAY be applied to an {@link Operation}. This object MAY contain any property from the + * {@link Operation}, except the action, channel and traits ones. * - * @version 3.0.0 - * @see Operation + * @see Operation * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -47,20 +47,22 @@ public class OperationTrait extends ExtendableObject { private String summary; /** - * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. + * A verbose explanation of the operation. CommonMark syntax can be used for rich text representation. */ @Nullable private String description; /** * A declaration of which security schemes are associated with this operation. - * Only one of the security scheme objects MUST be satisfied to authorize an operation. + *

                                    + * Only one of the {@link SecurityScheme} objects MUST be satisfied to authorize an operation. + *

                                    * In cases where Server Security also applies, it MUST also be satisfied. *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link SecurityScheme}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -72,8 +74,8 @@ public class OperationTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link Tag}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -85,8 +87,8 @@ public class OperationTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link ExternalDocumentation}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -98,36 +100,12 @@ public class OperationTrait extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link OperationBinding}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @JsonDeserialize(using = OperationBindingsDeserializer.class) private Map bindings; - /** - * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation. - * It MUST contain a subset of the messages defined in the channel referenced in this operation. - * Every message processed by this operation MUST be valid against one, and only one, of the message objects - * referenced in this list. Please note the messages property value MUST be a list of Reference Objects and, - * therefore, MUST NOT contain Message Objects. However, it is RECOMMENDED that parsers (or other software) - * dereference this property for a better development experience. - */ - @Nullable - private List messages; - - /** - * The definition of the reply in a request-reply operation. - *

                                    - * MUST BE: - *

                                      - *
                                    • {@link Reference}
                                    • - *
                                    • {@link OperationReply}
                                    • - *
                                    - */ - @Nullable - @JsonDeserialize(using = OperationReplyDeserializer.class) - private Object reply; - } diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt index 38c081a8..437f2ff3 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/operation/OperationTraitTest.kt @@ -64,12 +64,6 @@ class OperationTraitTest: SerDeTest() { Pair("stomp", Reference("#/components/operationBindings/stomp")), Pair("ws", Reference("#/components/operationBindings/ws")) )) - .messages(listOf( - Reference("#/components/messages/message 1"), - Reference("#/components/messages/message 2"), - Reference("#/components/messages/message 3"), - )) - .reply(OperationReplyTest().build()) .build() } @@ -122,12 +116,6 @@ class OperationTraitTestWithReference: SerDeTest() { Pair("stomp", Reference("#/components/operationBindings/stomp")), Pair("ws", Reference("#/components/operationBindings/ws")) )) - .messages(listOf( - Reference("#/components/messages/message 1"), - Reference("#/components/messages/message 2"), - Reference("#/components/messages/message 3"), - )) - .reply(Reference("#/components/replies/reply")) .build() } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json index 39752299..a5695ca0 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json @@ -4347,29 +4347,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -4509,16 +4486,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -4829,29 +4796,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -4991,16 +4935,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -9285,29 +9219,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -9447,16 +9358,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -9767,29 +9668,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -9929,16 +9807,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -11993,29 +11861,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, "operationTrait 2" : { @@ -12156,16 +12001,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, "operationTrait 3" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json index a5b7b4ed..7df78985 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json @@ -4558,37 +4558,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -4752,20 +4721,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -5131,37 +5086,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -5325,20 +5249,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -9839,37 +9749,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -10033,20 +9912,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -10412,37 +10277,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -10606,20 +10440,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -12776,37 +12596,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, "operationTrait 2": { @@ -12970,20 +12759,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, "operationTrait 3": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json index 2f82a82d..6d6d5033 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json @@ -4558,37 +4558,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -4752,20 +4721,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -5131,37 +5086,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -5325,20 +5249,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -9839,37 +9749,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -10033,20 +9912,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -10412,37 +10277,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -10606,20 +10440,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -12776,37 +12596,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, "operationTrait 2": { @@ -12970,20 +12759,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, "operationTrait 3": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json index 1af6cec8..65b3f26d 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json @@ -4263,29 +4263,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -4425,16 +4402,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -4745,29 +4712,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -4907,16 +4851,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" @@ -6971,29 +6905,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, "operationTrait 2" : { @@ -7134,16 +7045,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, "operationTrait 3" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json index be1ae030..1cc891ad 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json @@ -4473,37 +4473,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -4667,20 +4636,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -5046,37 +5001,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -7410,37 +7334,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, "operationTrait 2": { @@ -7604,20 +7497,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, "operationTrait 3": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json index c67c2b5c..cced2430 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json @@ -4473,37 +4473,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -4667,20 +4636,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -5046,37 +5001,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -5240,20 +5164,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { @@ -7410,37 +7320,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, "operationTrait 2": { @@ -7604,20 +7483,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, "operationTrait 3": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json index e4b609b1..3e489169 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - extended.json @@ -281,29 +281,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -443,16 +420,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json index 533f605c..f084a322 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation - wrongly extended.json @@ -326,37 +326,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -520,20 +489,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json index f5914284..a50dbc19 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - extended.json @@ -280,29 +280,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] } }, { "title" : "Send message operation", @@ -442,16 +419,6 @@ "ws" : { "$ref" : "#/components/operationBindings/ws" } - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" } }, { "$ref" : "#/components/operations/trait" diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json index 20e049dc..b7e9d0fb 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference - wrongly extended.json @@ -325,37 +325,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -519,20 +488,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json index f6bfb55d..52cc7196 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation with reference.json @@ -325,37 +325,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -519,20 +488,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json index 5e32db03..1eb50625 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operation.json @@ -326,37 +326,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } }, { @@ -520,20 +489,6 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } }, { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json index 5984c9c4..ba5c25b6 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - extended.json @@ -138,29 +138,6 @@ "$ref" : "#/components/operationBindings/ws" } }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "address" : { - "description" : "Consumer inbox", - "location" : "$message.header#/replyTo" - }, - "channel" : { - "$ref" : "#/components/channels/channel" - }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ] - }, "x-number" : 0, "x-string" : "", "x-object" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json index 6b932104..c9e7b2f4 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait - wrongly extended.json @@ -161,37 +161,6 @@ "$ref": "#/components/operationBindings/ws" } }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] - }, "x-number": 0, "x-string": "", "x-object": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json index abb0d7a6..5e1d3d73 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - extended.json @@ -137,16 +137,6 @@ "$ref" : "#/components/operationBindings/ws" } }, - "messages" : [ { - "$ref" : "#/components/messages/message 1" - }, { - "$ref" : "#/components/messages/message 2" - }, { - "$ref" : "#/components/messages/message 3" - } ], - "reply" : { - "$ref" : "#/components/replies/reply" - }, "x-number" : 0, "x-string" : "", "x-object" : { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json index bb25657b..36426512 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference - wrongly extended.json @@ -160,20 +160,6 @@ "$ref": "#/components/operationBindings/ws" } }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" - }, "x-number": 0, "x-string": "", "x-object": { diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json index 515a29c9..b5ba2703 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait with reference.json @@ -159,19 +159,5 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "$ref": "#/components/replies/reply" } } \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json index ac447907..1e8b5ed2 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/operation/operationTrait.json @@ -160,36 +160,5 @@ "ws": { "$ref": "#/components/operationBindings/ws" } - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ], - "reply": { - "address": { - "description": "Consumer inbox", - "location": "$message.header#/replyTo" - }, - "channel": { - "$ref": "#/components/channels/channel" - }, - "messages": [ - { - "$ref": "#/components/messages/message 1" - }, - { - "$ref": "#/components/messages/message 2" - }, - { - "$ref": "#/components/messages/message 3" - } - ] } } \ No newline at end of file From 303f1ad6eb85f501a70c943f783b78622f316105 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 3 Feb 2024 14:07:18 +0400 Subject: [PATCH 165/210] docs(3.0.0): update OperationReply JavaDocs --- .../model/operation/reply/OperationReply.java | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java index b362e8a7..1b90ba66 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/operation/reply/OperationReply.java @@ -10,12 +10,14 @@ import java.util.List; /** - * Describes the reply part that MAY be applied to an Operation Object. If an operation implements the request/reply - * pattern, the reply object represents the response message. + * Describes the reply part that MAY be applied to an {@link com.asyncapi.v3._0_0.model.operation.Operation}. + *

                                    + * If an operation implements the request/reply pattern, the reply object represents the response message. * - * @version 3.0.0 - * @see Operation + * @see Operation + * @see Operation Reply * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -29,8 +31,8 @@ public class OperationReply extends ExtendableObject { *

                                    * MUST BE: *

                                      - *
                                    • {@link Reference}
                                    • *
                                    • {@link OperationReplyAddress}
                                    • + *
                                    • {@link Reference}
                                    • *
                                    */ @Nullable @@ -39,19 +41,33 @@ public class OperationReply extends ExtendableObject { /** * A $ref pointer to the definition of the channel in which this operation is performed. - * When address is specified, the address property of the channel referenced by this property MUST be either null - * or not defined. Please note the channel property value MUST be a Reference Object and, therefore, MUST NOT contain - * a Channel Object. However, it is RECOMMENDED that parsers (or other software) dereference this property for - * a better development experience. + *

                                    + * When address is specified, the address property of the channel referenced by this property MUST be either null or not defined. + *

                                    + * If the operation reply is located inside a root Operation Object - {@link com.asyncapi.v3._0_0.model.AsyncAPI#getOperations()}, + * it MUST point to a channel definition located in the root Channels Object - {@link com.asyncapi.v3._0_0.model.AsyncAPI#getChannels()}, + * and MUST NOT point to a channel definition located in the Components Object - {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()} or anywhere else. + *

                                    + * If the operation reply is located inside an Operation Object in the Components Object - {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()} + * or in the Replies Object in the Components Object - {@link com.asyncapi.v3._0_0.model.AsyncAPI#getComponents()}, it MAY point to a Channel Object in any location. + *

                                    + * Please note the channel property value MUST be a Reference Object and, therefore, MUST NOT contain a Channel Object. + *

                                    + * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. */ @Nullable private Reference channel; /** - * A list of $ref pointers pointing to the supported Message Objects that can be processed by this operation as reply. - * It MUST contain a subset of the messages defined in the channel referenced in this operation reply. Every message - * processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. + * A list of $ref pointers pointing to the supported {@link com.asyncapi.v3._0_0.model.channel.message.Message} that can be processed by this operation as reply. + *

                                    + * It MUST contain a subset of the messages defined in the channel referenced in this operation reply, + * and MUST NOT point to a subset of message definitions located in the Components Object or anywhere else. + *

                                    + * Every message processed by this operation MUST be valid against one, and only one, of the message objects referenced in this list. + *

                                    * Please note the messages property value MUST be a list of Reference Objects and, therefore, MUST NOT contain Message Objects. + *

                                    * However, it is RECOMMENDED that parsers (or other software) dereference this property for a better development experience. */ @Nullable From 3549c89f9c01b93fb9be48c76c740fa38ef5f4ce Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 3 Feb 2024 14:16:03 +0400 Subject: [PATCH 166/210] docs(3.0.0): update Components JavaDocs --- .../v3/_0_0/model/component/Components.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java index c53538ac..263425fa 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/_0_0/model/component/Components.java @@ -38,8 +38,9 @@ * All objects defined within the components object will have no effect on the API unless they are explicitly referenced * from properties outside the components object. * - * @version 3.0.0 + * @see Components Object * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -49,7 +50,10 @@ public class Components extends ExtendableObject { /** - * An object to hold reusable {@link }Schema Objects. + * An object to hold reusable Schema Object. + *

                                    + * If this is a {@link Schema}, then the schemaFormat will be assumed to be "application/vnd.aai.asyncapi+json;version=asyncapi" + * where the version is equal to the AsyncAPI Version String. *

                                    * MUST BE: *

                                      @@ -171,8 +175,8 @@ public class Components extends ExtendableObject { *

                                      * MUST BE: *

                                        + *
                                      • {@link Parameter}
                                      • *
                                      • {@link Reference}
                                      • - *
                                      • {@link Parameter}
                                      • *
                                      */ @Nullable @@ -184,8 +188,8 @@ public class Components extends ExtendableObject { *

                                      * MUST BE: *

                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link CorrelationId}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -197,8 +201,8 @@ public class Components extends ExtendableObject { *

                                      * MUST BE: *

                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link OperationTrait}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -210,8 +214,8 @@ public class Components extends ExtendableObject { *

                                      * MUST BE: *

                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link MessageTrait}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -222,8 +226,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link ServerBinding} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link ServerBinding}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -234,8 +238,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link ChannelBinding} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link ChannelBinding}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -246,8 +250,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link OperationBinding} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link OperationBinding}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -258,8 +262,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link MessageBinding} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link MessageBinding}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -270,8 +274,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link ExternalDocumentation} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link ExternalDocumentation}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable @@ -282,8 +286,8 @@ public class Components extends ExtendableObject { * An object to hold reusable {@link Tag} Objects. * MUST BE: *
                                        - *
                                      • {@link Reference}
                                      • *
                                      • {@link Tag}
                                      • + *
                                      • {@link Reference}
                                      • *
                                      */ @Nullable From 244e2599add0056ef7d065a4c122a29c061fe812 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 3 Feb 2024 19:13:52 +0400 Subject: [PATCH 167/210] feat(3.0.0): change type of Schema.multipleOf from Integer to Number --- asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java index 1fdfc582..f71302ac 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/schema/Schema.java @@ -265,7 +265,7 @@ Validation Keywords for Numeric Instances (number and integer) */ @Nullable @JsonProperty - public Integer multipleOf; + public Number multipleOf; /** * The value of "maximum" MUST be a number, representing an inclusive upper limit for a numeric instance. From 3d1113444173978a0dbdb3c3809bce7434c61c3c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 3 Feb 2024 19:55:20 +0400 Subject: [PATCH 168/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Gemini Market Data Websocket API --- asyncapi-core/pom.xml | 5 + .../v3/_0_0/AbstractExampleValidationTest.kt | 82 ++++ .../v3/_0_0/WebsocketGeminiAsyncAPI.kt | 418 ++++++++++++++++++ .../v3.0.0/websocket-gemini-asyncapi.yml | 301 +++++++++++++ 4 files changed, 806 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/WebsocketGeminiAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/websocket-gemini-asyncapi.yml diff --git a/asyncapi-core/pom.xml b/asyncapi-core/pom.xml index 6e5747b5..76314cda 100644 --- a/asyncapi-core/pom.xml +++ b/asyncapi-core/pom.xml @@ -46,6 +46,11 @@ com.fasterxml.jackson.core jackson-databind + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + test + javax.validation validation-api diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt new file mode 100644 index 00000000..c8c677d9 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt @@ -0,0 +1,82 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.ClasspathUtils +import com.asyncapi.v3._0_0.model.AsyncAPI +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.fasterxml.jackson.annotation.JsonInclude +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +abstract class AbstractExampleValidationTest { + + private val objectMapper = ObjectMapper(YAMLFactory()) + .setSerializationInclusion(JsonInclude.Include.NON_NULL) + + abstract fun specificationLocation(): String + + private fun specification(): AsyncAPI { + return objectMapper.readValue( + ClasspathUtils.readAsString(specificationLocation()), + AsyncAPI::class.java + ) + } + + abstract fun expectedInfo(): Info + + @Test + fun `ensure that info was read correctly`() { + Assertions.assertEquals( + specification().info, + expectedInfo(), + "Info must be read correctly" + ) + } + + abstract fun expectedServers(): Map + + @Test + fun `ensure that servers were read correctly`() { + Assertions.assertEquals( + specification().servers, + expectedServers(), + "Servers must be read correctly" + ) + } + + abstract fun expectedChannels(): Map + + @Test + fun `ensure that channels were read correctly`() { + Assertions.assertEquals( + specification().channels, + expectedChannels(), + "Channels must be read correctly" + ) + } + + abstract fun expectedOperations(): Map + + @Test + fun `ensure that operations were read correctly`() { + Assertions.assertEquals( + specification().operations, + expectedOperations(), + "Operations must be read correctly" + ) + } + + abstract fun expectedComponents(): Components + + @Test + fun `ensure that components were read correctly`() { + Assertions.assertEquals( + specification().components, + expectedComponents(), + "Components must be read correctly" + ) + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/WebsocketGeminiAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/WebsocketGeminiAsyncAPI.kt new file mode 100644 index 00000000..88df5c00 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/WebsocketGeminiAsyncAPI.kt @@ -0,0 +1,418 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageExample +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.Contact +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.channel.ws.WebSocketsChannelBinding +import com.asyncapi.v3.schema.Schema +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +class WebsocketGeminiAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/websocket-gemini-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info( + "Gemini Market Data Websocket API", + "1.0.0", + """ + Market data is a public API that streams all the market data on a given symbol. + + You can quickly play with the API using [websocat](https://github.com/vi/websocat#installation) like this: + ```bash + websocat wss://api.gemini.com/v1/marketdata/btcusd?heartbeat=true -S + ``` + + """.trimIndent(), + null, + Contact("Gemini", "https://www.gemini.com/", null), + null, + null, + ExternalDocumentation(null, "https://docs.sandbox.gemini.com/websocket-api/#market-data") + ) + } + + override fun expectedServers(): Map { + return mapOf(Pair("public", Server.builder().host("api.gemini.com").protocol("wss").build())) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("marketDataV1", + Channel.builder() + .address("/v1/marketdata/{symbol}") + .messages( + mapOf( + Pair("marketData", Reference("#/components/messages/marketData")) + ) + ) + .parameters( + mapOf( + Pair( + "symbol", + Parameter.builder() + .enumValues(listOf( + "btcusd", + "ethbtc", + "ethusd", + "zecusd", + "zecbtc", + "zeceth", + "zecbch", + "zecltc", + "bchusd", + "bchbtc", + "bcheth", + "ltcusd", + "ltcbtc", + "ltceth", + "ltcbch", + "batusd", + "daiusd", + "linkusd", + "oxtusd", + "batbtc", + "linkbtc", + "oxtbtc", + "bateth", + "linketh", + "oxteth", + "ampusd", + "compusd", + "paxgusd", + "mkrusd", + "zrxusd", + "kncusd", + "manausd", + "storjusd", + "snxusd", + "crvusd", + "balusd", + "uniusd", + "renusd", + "umausd", + "yfiusd", + "btcdai", + "ethdai", + "aaveusd", + "filusd", + "btceur", + "btcgbp", + "etheur", + "ethgbp", + "btcsgd", + "ethsgd", + "sklusd", + "grtusd", + "bntusd", + "1inchusd", + "enjusd", + "lrcusd", + "sandusd", + "cubeusd", + "lptusd", + "bondusd", + "maticusd", + "injusd", + "sushiusd" + )) + .description( + "Symbols are formatted as CCY1CCY2 where prices are in CCY2 and quantities are in CCY1. To read more click [here](https://docs.sandbox.gemini.com/websocket-api/#symbols-and-minimums).\n" + ) + .build() + ) + ) + ) + .bindings( + mapOf( + Pair( + "ws", + WebSocketsChannelBinding.builder() + .query( + Schema.builder() + .type("object") + .description( + "The semantics of entry type filtering is:\n" + + "\n" + + "If any entry type is specified as true or false, all of them must be explicitly flagged true to show up in the response\n" + + "If no entry types filtering parameters are included in the url, then all entry types will appear in the response\n" + + "\n" + + "NOTE: top_of_book has no meaning and initial book events are empty when only trades is specified\n" + ) + .properties(mapOf( + Pair( + "heartbeat", + Schema.builder() + .type("boolean") + .defaultValue(false) + .description( + "Optionally add this parameter and set to true to receive a " + + "heartbeat every 5 seconds" + ) + .build() + ), + Pair( + "top_of_book", + Schema.builder() + .type("boolean") + .defaultValue(false) + .description( + "If absent or false, receive full order book depth; if present " + + "and true, receive top of book only. Only applies to bids and " + + "offers." + ) + .build() + ), + Pair( + "bids", + Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Include bids in change events") + .build() + ), + Pair( + "offers", + Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Include asks in change events") + .build() + ), + Pair( + "trades", + Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Include trade events") + .build() + ), + Pair( + "auctions", + Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Include auction events") + .build() + ) + )) + .build() + ) + .build() + ) + ) + ) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf(Pair( + "sendMarketData", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/marketDataV1")) + .summary("Receive market updates on a given symbol") + .messages( + listOf(Reference("#/channels/marketDataV1/messages/marketData")) + ) + .build() + )) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair( + "marketData", + Message.builder() + .summary("Message with marked data information.") + .description( + "The initial response message will show the existing state of the order " + + "book. Subsequent messages will show all executed trades, as well as all " + + "other changes to the order book from orders placed or canceled.\n" + ) + .payload(Reference("#/components/schemas/market")) + .examples(listOf( + MessageExample.builder() + .name("updateMessage") + .summary("Example of an update message that contains a change in price information.") + .payload(mapOf( + Pair("type", "update"), + Pair("eventId", 36902233362), + Pair("timestamp", 1619769673), + Pair("timestampms", 1619769673527), + Pair("socket_sequence", 661), + Pair("events", listOf(mapOf( + Pair("type", "change"), + Pair("side", "bid"), + Pair("price", 54350.40), + Pair("remaining", 0.002), + Pair("delta", 0.002), + Pair("reason", "place") + ))), + )) + .build(), + MessageExample.builder() + .name("heartbeatMessage") + .summary("Example of additional heartbeat message when you enable them.") + .payload(mapOf( + Pair("type", "heartbeat"), + Pair("socket_sequence", 1656) + )) + .build(), + )) + .build() + ) + )) + .schemas(mapOf( + Pair("market", Schema.builder() + .type("object") + .oneOf(listOf( + Schema.builder().ref("#/components/schemas/heartbeat").build(), + Schema.builder().ref("#/components/schemas/update").build(), + )) + .build() + ), + Pair("heartbeat", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("type", Schema.builder().type("string").constValue("heartbeat").build()) + )) + .required(listOf("type")) + .build(), + Schema.builder() + .ref("#/components/schemas/default") + .build(), + )) + .build() + ), + Pair("update", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("type", Schema.builder().type("string").constValue("update").build()), + Pair("eventId", Schema.builder() + .type("integer") + .description( + "A monotonically increasing sequence number indicating when this " + + "change occurred. These numbers are persistent and consistent " + + "between market data connections." + ) + .build() + ), + Pair("events", Schema.builder().ref("#/components/schemas/events").build()), + Pair("timestamp", Schema.builder() + .type("number") + .description( + "The timestamp in seconds for this group of events (included for " + + "compatibility reasons). We recommend using the timestampms field " + + "instead." + ) + .build() + ), + Pair("timestampms", Schema.builder() + .type("number") + .description("The timestamp in milliseconds for this group of events.") + .build() + ), + )) + .required(listOf("type", "eventId", "events", "timestamp", "timestampms")) + .build(), + Schema.builder().ref("#/components/schemas/default").build(), + )) + .build() + ), + Pair("default", Schema.builder() + .type("object") + .description( + "This object is always part of the payload. In case of type=heartbeat, " + + "these are the only fields.") + .required(listOf("type", "socket_sequence")) + .properties(mapOf( + Pair("socket_sequence", Schema.builder() + .type("integer") + .description( + "zero-indexed monotonic increasing sequence number attached to each " + + "message sent - if there is a gap in this sequence, you have missed a " + + "message. If you choose to enable heartbeats, then heartbeat and " + + "update messages will share a single increasing sequence. See " + + "[Sequence Numbers](https://docs.sandbox.gemini.com/websocket-api/#sequence-numbers) " + + "for more information." + ) + .build() + ) + )) + .build() + ), + Pair("events", Schema.builder() + .type("array") + .description("Either a change to the order book, or the indication that a trade has occurred.") + .items(Schema.builder() + .type("object") + .additionalProperties(false) + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("trade", "change", "auction, block_trade")) + .build() + ), + Pair("price", Schema.builder() + .type("number") + .multipleOf(0.01) + .description("The price of this order book entry.") + .build() + ), + Pair("side", Schema.builder() + .type("string") + .enumValue(listOf("bid", "side")) + .build() + ), + Pair("reason", Schema.builder() + .type("string") + .enumValue(listOf("place", "trade", "cancel", "initial")) + .description( + "Indicates why the change has occurred. initial is for the initial " + + "response message, which will show the entire existing state of the " + + "order book." + ) + .build() + ), + Pair("remaining", Schema.builder() + .type("number") + .description( + "The quantity remaining at that price level after this change " + + "occurred. May be zero if all orders at this price level have been " + + "filled or canceled." + ) + .build() + ), + Pair("delta", Schema.builder() + .type("number") + .description( + "The quantity changed. May be negative, if an order is filled or canceled. For initial messages, delta will equal remaining." + ) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/websocket-gemini-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/websocket-gemini-asyncapi.yml new file mode 100644 index 00000000..7abcba98 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/websocket-gemini-asyncapi.yml @@ -0,0 +1,301 @@ +asyncapi: 3.0.0 +info: + title: Gemini Market Data Websocket API + version: 1.0.0 + description: > + Market data is a public API that streams all the market data on a given + symbol. + + + You can quickly play with the API using + [websocat](https://github.com/vi/websocat#installation) like this: + + ```bash + + websocat wss://api.gemini.com/v1/marketdata/btcusd?heartbeat=true -S + + ``` + contact: + name: Gemini + url: 'https://www.gemini.com/' + externalDocs: + url: 'https://docs.sandbox.gemini.com/websocket-api/#market-data' +servers: + public: + host: api.gemini.com + protocol: wss +channels: + marketDataV1: + address: '/v1/marketdata/{symbol}' + messages: + marketData: + $ref: '#/components/messages/marketData' + parameters: + symbol: + enum: + - btcusd + - ethbtc + - ethusd + - zecusd + - zecbtc + - zeceth + - zecbch + - zecltc + - bchusd + - bchbtc + - bcheth + - ltcusd + - ltcbtc + - ltceth + - ltcbch + - batusd + - daiusd + - linkusd + - oxtusd + - batbtc + - linkbtc + - oxtbtc + - bateth + - linketh + - oxteth + - ampusd + - compusd + - paxgusd + - mkrusd + - zrxusd + - kncusd + - manausd + - storjusd + - snxusd + - crvusd + - balusd + - uniusd + - renusd + - umausd + - yfiusd + - btcdai + - ethdai + - aaveusd + - filusd + - btceur + - btcgbp + - etheur + - ethgbp + - btcsgd + - ethsgd + - sklusd + - grtusd + - bntusd + - 1inchusd + - enjusd + - lrcusd + - sandusd + - cubeusd + - lptusd + - bondusd + - maticusd + - injusd + - sushiusd + description: > + Symbols are formatted as CCY1CCY2 where prices are in CCY2 and + quantities are in CCY1. To read more click + [here](https://docs.sandbox.gemini.com/websocket-api/#symbols-and-minimums). + bindings: + ws: + bindingVersion: 0.1.0 + query: + type: object + description: > + The semantics of entry type filtering is: + + + If any entry type is specified as true or false, all of them must be + explicitly flagged true to show up in the response + + If no entry types filtering parameters are included in the url, then + all entry types will appear in the response + + + NOTE: top_of_book has no meaning and initial book events are empty + when only trades is specified + properties: + heartbeat: + type: boolean + default: false + description: >- + Optionally add this parameter and set to true to receive a + heartbeat every 5 seconds + top_of_book: + type: boolean + default: false + description: >- + If absent or false, receive full order book depth; if present + and true, receive top of book only. Only applies to bids and + offers. + bids: + type: boolean + default: true + description: Include bids in change events + offers: + type: boolean + default: true + description: Include asks in change events + trades: + type: boolean + default: true + description: Include trade events + auctions: + type: boolean + default: true + description: Include auction events +operations: + sendMarketData: + action: send + channel: + $ref: '#/channels/marketDataV1' + summary: Receive market updates on a given symbol + messages: + - $ref: '#/channels/marketDataV1/messages/marketData' +components: + messages: + marketData: + summary: Message with marked data information. + description: > + The initial response message will show the existing state of the order + book. Subsequent messages will show all executed trades, as well as all + other changes to the order book from orders placed or canceled. + payload: + $ref: '#/components/schemas/market' + examples: + - name: updateMessage + summary: >- + Example of an update message that contains a change in price + information. + payload: + type: update + eventId: 36902233362 + timestamp: 1619769673 + timestampms: 1619769673527 + socket_sequence: 661 + events: + - type: change + side: bid + price: 54350.40 + remaining: 0.002 + delta: 0.002 + reason: place + - name: heartbeatMessage + summary: Example of additional heartbeat message when you enable them. + payload: + type: heartbeat + socket_sequence: 1656 + schemas: + market: + type: object + oneOf: + - $ref: '#/components/schemas/heartbeat' + - $ref: '#/components/schemas/update' + heartbeat: + allOf: + - properties: + type: + type: string + const: heartbeat + required: + - type + - $ref: '#/components/schemas/default' + update: + allOf: + - properties: + type: + type: string + const: update + eventId: + type: integer + description: >- + A monotonically increasing sequence number indicating when this + change occurred. These numbers are persistent and consistent + between market data connections. + events: + $ref: '#/components/schemas/events' + timestamp: + type: number + description: >- + The timestamp in seconds for this group of events (included for + compatibility reasons). We recommend using the timestampms field + instead. + timestampms: + type: number + description: The timestamp in milliseconds for this group of events. + required: + - type + - eventId + - events + - timestamp + - timestampms + - $ref: '#/components/schemas/default' + default: + type: object + description: >- + This object is always part of the payload. In case of type=heartbeat, + these are the only fields. + required: + - type + - socket_sequence + properties: + socket_sequence: + type: integer + description: >- + zero-indexed monotonic increasing sequence number attached to each + message sent - if there is a gap in this sequence, you have missed a + message. If you choose to enable heartbeats, then heartbeat and + update messages will share a single increasing sequence. See + [Sequence + Numbers](https://docs.sandbox.gemini.com/websocket-api/#sequence-numbers) + for more information. + events: + type: array + description: >- + Either a change to the order book, or the indication that a trade has + occurred. + items: + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - trade + - change + - 'auction, block_trade' + price: + type: number + multipleOf: 0.01 + description: The price of this order book entry. + side: + type: string + enum: + - bid + - side + reason: + type: string + enum: + - place + - trade + - cancel + - initial + description: >- + Indicates why the change has occurred. initial is for the initial + response message, which will show the entire existing state of the + order book. + remaining: + type: number + description: >- + The quantity remaining at that price level after this change + occurred. May be zero if all orders at this price level have been + filled or canceled. + delta: + type: number + description: >- + The quantity changed. May be negative, if an order is filled or + canceled. For initial messages, delta will equal remaining. \ No newline at end of file From 11a092930d1575793c1dd8a4c2fae7c151b6bf98 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 4 Feb 2024 23:50:56 +0400 Subject: [PATCH 169/210] docs(3.0.0): update OpenIdConnectSecurityScheme JavaDocs --- .../security_scheme/OpenIdConnectSecurityScheme.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java index ff0febc3..2ef45095 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/OpenIdConnectSecurityScheme.java @@ -7,9 +7,11 @@ import java.util.List; /** - * @version 2.6.0 - * @see SecurityScheme + * OpenID Connect Security Scheme + * + * @see SecurityScheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -18,15 +20,15 @@ public class OpenIdConnectSecurityScheme extends SecurityScheme { /** - * REQUIRED. + * REQUIRED. *

                                      - * OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL. + * OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of an absolute URL. */ @NotNull private String openIdConnectUrl = ""; /** - * List of the needed scope names. + * List of the needed scope names. An empty array means no scopes are needed. */ @Nullable private List scopes; From 223f216bb698b37d8738e0bce954dc05d9ee956d Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 4 Feb 2024 23:55:10 +0400 Subject: [PATCH 170/210] docs(3.0.0): update ApiKeySecurityScheme JavaDocs --- .../asyncapi/v3/security_scheme/ApiKeySecurityScheme.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java index 86a20335..8b0b92bc 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/ApiKeySecurityScheme.java @@ -6,9 +6,11 @@ import org.jetbrains.annotations.Nullable; /** - * @version 2.6.0 - * @see SecurityScheme + * API Key Security Scheme + * + * @see SecurityScheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -17,7 +19,7 @@ public class ApiKeySecurityScheme extends SecurityScheme { /** - * REQUIRED. + * REQUIRED. *

                                      * The location of the API key. */ From 4d3dbce8535fb8b6e72302d2a7e3ef0acee977b4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 4 Feb 2024 23:57:15 +0400 Subject: [PATCH 171/210] docs(3.0.0): update HttpSecurityScheme JavaDocs --- .../v3/security_scheme/http/HttpSecurityScheme.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java index a85fc92f..efb0acaf 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpSecurityScheme.java @@ -6,9 +6,11 @@ import org.jetbrains.annotations.Nullable; /** - * @version 3.0.0 - * @see SecurityScheme + * HTTP Security Scheme + * + * @see SecurityScheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -17,7 +19,7 @@ public class HttpSecurityScheme extends SecurityScheme { /** - * REQUIRED. + * REQUIRED. *

                                      * The name of the HTTP Authorization scheme to be used in the Authorization header as defined in RFC7235. */ From f23225c1defcb6008cbf83e5a0e3427150ce7d03 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 4 Feb 2024 23:59:00 +0400 Subject: [PATCH 172/210] docs(3.0.0): update HttpApiKeySecurityScheme JavaDocs --- .../security_scheme/http/HttpApiKeySecurityScheme.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java index 7ef9ecd8..4965be62 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/http/HttpApiKeySecurityScheme.java @@ -7,9 +7,11 @@ import org.jetbrains.annotations.Nullable; /** - * @version 3.0.0 - * @see SecurityScheme + * HTTP API Key Security Scheme + * + * @see SecurityScheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -18,7 +20,7 @@ public class HttpApiKeySecurityScheme extends SecurityScheme { /** - * REQUIRED. + * REQUIRED. *

                                      * The name of the header, query or cookie parameter to be used. */ @@ -26,7 +28,7 @@ public class HttpApiKeySecurityScheme extends SecurityScheme { private String name = ""; /** - * REQUIRED. + * REQUIRED. *

                                      * The location of the API key. */ From 68d916657250fc4fd1a0015b111a23e305d46eb4 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 5 Feb 2024 23:35:50 +0400 Subject: [PATCH 173/210] docs(3.0.0): update OAuth2SecurityScheme JavaDocs --- .../v3/security_scheme/oauth2/OAuth2SecurityScheme.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java index e1000944..0e3d6224 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuth2SecurityScheme.java @@ -8,9 +8,11 @@ import java.util.List; /** - * @version 3.0.0 - * @see SecurityScheme + * OAuth2 Security Scheme + * + * @see SecurityScheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -19,7 +21,7 @@ public class OAuth2SecurityScheme extends SecurityScheme { /** - * REQUIRED. + * REQUIRED. *

                                      * An object containing configuration information for the flow types supported. */ From 429b9ea75bf2de774184fabdaea5d58b19d05c97 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 5 Feb 2024 23:38:04 +0400 Subject: [PATCH 174/210] docs(3.0.0): update OAuthFlows JavaDocs --- .../com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java index 9f33cdb0..00f2c8ee 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/OAuthFlows.java @@ -11,11 +11,12 @@ /** * Allows configuration of the supported OAuth Flows. *

                                      - * This object MAY be extended with Specification Extensions. + * This object MAY be extended with {@link ExtendableObject}. * - * @version 3.0.0 - * @see OAuth Flows Object + * @see OAuth Flows + * @see Security Scheme * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder From 6bb25274b92dd86f3c99fb68f6605a75bd782278 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 5 Feb 2024 23:55:57 +0400 Subject: [PATCH 175/210] feat(3.0.0): OauthFlow rename scopes to availableScopes and update JavaDocs --- .../oauth2/flow/AuthorizationCodeOAuthFlow.java | 15 +++++++++------ .../oauth2/flow/ClientCredentialsOAuthFlow.java | 15 ++++++++++----- .../oauth2/flow/ImplicitOAuthFlow.java | 11 ++++++++--- .../v3/security_scheme/oauth2/flow/OAuthFlow.java | 11 ++++++----- .../oauth2/flow/PasswordOAuthFlow.java | 11 ++++++++--- .../oauth2/flow/AuthorizationCodeOAuthFlowTest.kt | 2 +- .../oauth2/flow/ClientCredentialsOAuthFlowTest.kt | 2 +- .../security_scheme/oauth2/flow/OAuthFlowTest.kt | 2 +- .../json/v3/3.0.0/model/asyncapi - extended.json | 8 ++++---- .../3.0.0/model/asyncapi - wrongly extended.json | 8 ++++---- .../resources/json/v3/3.0.0/model/asyncapi.json | 8 ++++---- .../model/components/components - extended.json | 8 ++++---- .../components/components - wrongly extended.json | 8 ++++---- .../v3/3.0.0/model/components/components.json | 8 ++++---- .../authorizationCodeOAuthFlow - extended.json | 2 +- ...orizationCodeOAuthFlow - wrongly extended.json | 2 +- .../oauth2/flow/authorizationCodeOAuthFlow.json | 2 +- .../clientCredentialsOAuthFlow - extended.json | 2 +- ...ntCredentialsOAuthFlow - wrongly extended.json | 2 +- .../oauth2/flow/clientCredentialsOAuthFlow.json | 2 +- .../oauth2/flow/implicitOAuthFlow - extended.json | 2 +- .../implicitOAuthFlow - wrongly extended.json | 2 +- .../oauth2/flow/implicitOAuthFlow.json | 2 +- .../oauth2/flow/oauthFlow - extended.json | 2 +- .../oauth2/flow/oauthFlow - wrongly extended.json | 2 +- .../v3/security_scheme/oauth2/flow/oauthFlow.json | 2 +- .../oauth2/flow/passwordOAuthFlow - extended.json | 2 +- .../passwordOAuthFlow - wrongly extended.json | 2 +- .../oauth2/flow/passwordOAuthFlow.json | 2 +- .../security_scheme/oauth2/oauth2 - extended.json | 8 ++++---- .../oauth2/oauth2 - wrongly extended.json | 8 ++++---- .../json/v3/security_scheme/oauth2/oauth2.json | 8 ++++---- .../oauth2/oauthFlows - extended.json | 8 ++++---- .../oauth2/oauthFlows - wrongly extended.json | 8 ++++---- .../v3/security_scheme/oauth2/oauthFlows.json | 8 ++++---- 35 files changed, 107 insertions(+), 88 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java index 0d2351d6..bb0159eb 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlow.java @@ -7,11 +7,14 @@ import java.util.Map; /** - * This object MAY be extended with Specification Extensions. + * Configuration for the OAuth Authorization Code flow + *

                                      + * This object MAY be extended with {@link com.asyncapi.v3.ExtendableObject}. * - * @version 3.0.0 - * @see OAuth Flow Object + * @see OAuth Flow + * @see Specification Extensions * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -20,7 +23,7 @@ public class AuthorizationCodeOAuthFlow extends OAuthFlow { /** - * REQUIRED. + * REQUIRED. *

                                      * The authorization URL to be used for this flow. This MUST be in the form of an absolute URL. */ @@ -35,10 +38,10 @@ public class AuthorizationCodeOAuthFlow extends OAuthFlow { @Builder(builderMethodName = "authorizationCodeBuilder") public AuthorizationCodeOAuthFlow(@Nullable String refreshUrl, - @NotNull Map scopes, + @NotNull Map availableScopes, @NotNull String authorizationUrl, @Nullable String tokenUrl) { - super(refreshUrl, scopes); + super(refreshUrl, availableScopes); this.authorizationUrl = authorizationUrl; this.tokenUrl = tokenUrl; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java index b927fdda..2f603fae 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlow.java @@ -7,9 +7,14 @@ import java.util.Map; /** - * @version 3.0.0 - * @see OAuth Flow Object + * Configuration for the OAuth Client Credentials flow + *

                                      + * This object MAY be extended with {@link com.asyncapi.v3.ExtendableObject}. + * + * @see OAuth Flow + * @see Specification Extensions * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -18,7 +23,7 @@ public class ClientCredentialsOAuthFlow extends OAuthFlow { /** - * REQUIRED. + * REQUIRED. *

                                      * The token URL to be used for this flow. This MUST be in the form of a URL. */ @@ -27,9 +32,9 @@ public class ClientCredentialsOAuthFlow extends OAuthFlow { @Builder(builderMethodName = "clientCredentialsBuilder") public ClientCredentialsOAuthFlow(@Nullable String refreshUrl, - @NotNull Map scopes, + @NotNull Map availableScopes, @NotNull String tokenUrl) { - super(refreshUrl, scopes); + super(refreshUrl, availableScopes); this.tokenUrl = tokenUrl; } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java index 3c7fada4..6c71d7a0 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/ImplicitOAuthFlow.java @@ -7,9 +7,14 @@ import java.util.Map; /** - * @version 3.0.0 - * @see OAuth Flow Object + * Configuration for the OAuth Implicit flow + *

                                      + * This object MAY be extended with {@link com.asyncapi.v3.ExtendableObject}. + * + * @see OAuth Flow + * @see Specification Extensions * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -18,7 +23,7 @@ public class ImplicitOAuthFlow extends OAuthFlow { /** - * REQUIRED. + * REQUIRED. *

                                      * The authorization URL to be used for this flow. This MUST be in the form of a URL */ diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java index 06715a94..4751cc35 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlow.java @@ -11,11 +11,12 @@ /** * Configuration details for a supported OAuth Flow *

                                      - * This object MAY be extended with Specification Extensions. + * This object MAY be extended with {@link ExtendableObject}. * - * @version 3.0.0 - * @see OAuth Flow Object + * @see OAuth Flow + * @see Specification Extensions * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @Builder @@ -32,12 +33,12 @@ public class OAuthFlow extends ExtendableObject { private String refreshUrl = ""; /** - * REQUIRED. + * REQUIRED. *

                                      * The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. */ @NotNull @Builder.Default - private Map scopes = new HashMap<>(); + private Map availableScopes = new HashMap<>(); } diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java index 49ebd511..6b79f539 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/security_scheme/oauth2/flow/PasswordOAuthFlow.java @@ -7,9 +7,14 @@ import java.util.Map; /** - * @version 3.0.0 - * @see OAuth Flow Object + * Configuration for the OAuth Resource Owner Protected Credentials flow + *

                                      + * This object MAY be extended with {@link com.asyncapi.v3.ExtendableObject}. + * + * @see OAuth Flow + * @see Specification Extensions * @author Pavel Bodiachevskii + * @version 3.0.0 */ @Data @NoArgsConstructor @@ -18,7 +23,7 @@ public class PasswordOAuthFlow extends OAuthFlow { /** - * REQUIRED. + * REQUIRED. *

                                      * The token URL to be used for this flow. This MUST be in the form of a URL. */ diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt index 01f543e3..7979a95a 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/AuthorizationCodeOAuthFlowTest.kt @@ -17,7 +17,7 @@ class AuthorizationCodeOAuthFlowTest: SerDeTest() { .authorizationUrl("https://example.com/api/oauth/dialog") .tokenUrl("https://example.com/api/oauth/token") .refreshUrl("https://example.com/api/oauth/refresh") - .scopes(mapOf( + .availableScopes(mapOf( Pair("write:pets", "modify pets in your account"), Pair("read:pets", "read your pets") )) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt index ff2f0d93..b8b00716 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/ClientCredentialsOAuthFlowTest.kt @@ -16,7 +16,7 @@ class ClientCredentialsOAuthFlowTest: SerDeTest() { return ClientCredentialsOAuthFlow.clientCredentialsBuilder() .tokenUrl("https://example.com/api/oauth/token") .refreshUrl("https://example.com/api/oauth/refresh") - .scopes(mapOf( + .availableScopes(mapOf( Pair("write:pets", "modify pets in your account"), Pair("read:pets", "read your pets") )) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt index b40c1eea..f46d4666 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/security_scheme/oauth2/flow/OAuthFlowTest.kt @@ -15,7 +15,7 @@ class OAuthFlowTest: SerDeTest() { override fun build(): OAuthFlow { return OAuthFlow.builder() .refreshUrl("https://example.com/api/oauth/refresh") - .scopes(mapOf( + .availableScopes(mapOf( Pair("write:pets", "modify pets in your account"), Pair("read:pets", "read your pets") )) diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json index a5695ca0..a748d5a5 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - extended.json @@ -11624,7 +11624,7 @@ "flows" : { "implicit" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -11632,7 +11632,7 @@ }, "password" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -11640,7 +11640,7 @@ }, "clientCredentials" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -11648,7 +11648,7 @@ }, "authorizationCode" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json index 7df78985..3bca49ed 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi - wrongly extended.json @@ -12325,7 +12325,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12333,7 +12333,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12341,7 +12341,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12349,7 +12349,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json index 6d6d5033..b4eafd4e 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/asyncapi.json @@ -12325,7 +12325,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12333,7 +12333,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12341,7 +12341,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -12349,7 +12349,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json index 65b3f26d..c78dc018 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - extended.json @@ -6668,7 +6668,7 @@ "flows" : { "implicit" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -6676,7 +6676,7 @@ }, "password" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -6684,7 +6684,7 @@ }, "clientCredentials" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -6692,7 +6692,7 @@ }, "authorizationCode" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json index 1cc891ad..f91bdf04 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components - wrongly extended.json @@ -7063,7 +7063,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7071,7 +7071,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7079,7 +7079,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7087,7 +7087,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json index cced2430..1274a6fe 100644 --- a/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json +++ b/asyncapi-core/src/test/resources/json/v3/3.0.0/model/components/components.json @@ -7049,7 +7049,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7057,7 +7057,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7065,7 +7065,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -7073,7 +7073,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json index 46d99302..93e38ea5 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - extended.json @@ -1,6 +1,6 @@ { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json index 19240f8f..3124f134 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow - wrongly extended.json @@ -2,7 +2,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json index 74711855..9d2829ef 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/authorizationCodeOAuthFlow.json @@ -2,7 +2,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json index c211a2d9..dc28e9c7 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - extended.json @@ -1,6 +1,6 @@ { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json index b5d31e51..b12e271b 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow - wrongly extended.json @@ -1,7 +1,7 @@ { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json index 0c1ea575..25500e21 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/clientCredentialsOAuthFlow.json @@ -1,7 +1,7 @@ { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json index 43c50d71..92be3c00 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - extended.json @@ -1,6 +1,6 @@ { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json index 215f12ae..94126ff6 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow - wrongly extended.json @@ -1,7 +1,7 @@ { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json index d0c0526a..c26b937b 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/implicitOAuthFlow.json @@ -1,7 +1,7 @@ { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json index cb45fb58..0f32dc9b 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - extended.json @@ -1,6 +1,6 @@ { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json index 511f29d1..e4b90770 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow - wrongly extended.json @@ -1,6 +1,6 @@ { "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json index 9b766a37..996b23d4 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/oauthFlow.json @@ -1,6 +1,6 @@ { "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json index c211a2d9..dc28e9c7 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - extended.json @@ -1,6 +1,6 @@ { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json index b5d31e51..b12e271b 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow - wrongly extended.json @@ -1,7 +1,7 @@ { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json index 0c1ea575..25500e21 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/flow/passwordOAuthFlow.json @@ -1,7 +1,7 @@ { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json index 3e2171a7..55283c15 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - extended.json @@ -4,7 +4,7 @@ "flows" : { "implicit" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -12,7 +12,7 @@ }, "password" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -20,7 +20,7 @@ }, "clientCredentials" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -28,7 +28,7 @@ }, "authorizationCode" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json index 2b4b9899..f1591439 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2 - wrongly extended.json @@ -6,7 +6,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -14,7 +14,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -22,7 +22,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -30,7 +30,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json index 2adf3db5..2d4b5b04 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauth2.json @@ -6,7 +6,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -14,7 +14,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -22,7 +22,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -30,7 +30,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json index 6ed27910..216712e2 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - extended.json @@ -1,7 +1,7 @@ { "implicit" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -9,7 +9,7 @@ }, "password" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -17,7 +17,7 @@ }, "clientCredentials" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, @@ -25,7 +25,7 @@ }, "authorizationCode" : { "refreshUrl" : "https://example.com/api/oauth/refresh", - "scopes" : { + "availableScopes" : { "write:pets" : "modify pets in your account", "read:pets" : "read your pets" }, diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json index 8bc0ba04..0ed7a581 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows - wrongly extended.json @@ -3,7 +3,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -11,7 +11,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -19,7 +19,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -27,7 +27,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } diff --git a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json index 11671049..e3753c89 100644 --- a/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json +++ b/asyncapi-core/src/test/resources/json/v3/security_scheme/oauth2/oauthFlows.json @@ -3,7 +3,7 @@ "authorizationUrl": "https://example.com/api/oauth/dialog", "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -11,7 +11,7 @@ "clientCredentials": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -19,7 +19,7 @@ "implicit": { "authorizationUrl": "https://example.com/api/oauth/dialog", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } @@ -27,7 +27,7 @@ "password": { "tokenUrl": "https://example.com/api/oauth/token", "refreshUrl": "https://example.com/api/oauth/refresh", - "scopes": { + "availableScopes": { "write:pets": "modify pets in your account", "read:pets": "read your pets" } From 3c163a7a34bf388d2ca5f72d82aa11df02dfe348 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 01:01:21 +0400 Subject: [PATCH 176/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Streetlights Kafka API --- .../v3/_0_0/AbstractExampleValidationTest.kt | 11 + .../StreetlightsOperationSecurityAsyncAPI.kt | 340 ++++++++++++++++++ ...reetlights-operation-security-asyncapi.yml | 240 +++++++++++++ 3 files changed, 591 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsOperationSecurityAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-operation-security-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt index c8c677d9..c5a1e14e 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt @@ -24,6 +24,17 @@ abstract class AbstractExampleValidationTest { ) } + open fun expectedDefaultContentType(): String? = null + + @Test + fun `ensure that defaultContentType was read correctly`() { + Assertions.assertEquals( + specification().defaultContentType, + expectedDefaultContentType(), + "defaultContentType must be read correctly" + ) + } + abstract fun expectedInfo(): Info @Test diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsOperationSecurityAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsOperationSecurityAsyncAPI.kt new file mode 100644 index 00000000..3d38588e --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsOperationSecurityAsyncAPI.kt @@ -0,0 +1,340 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.License +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.OperationTrait +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBinding +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.SecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v3.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow +import java.math.BigDecimal + +class StreetlightsOperationSecurityAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/streetlights-operation-security-asyncapi.yml" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info( + "Streetlights Kafka API", + "1.0.0", + "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 \uD83C\uDF03\n" + + "* Dim a specific streetlight \uD83D\uDE0E\n" + + "* Receive real-time information about environmental lighting conditions \uD83D\uDCC8\n", + null, + null, + License("Apache 2.0", "https://www.apache.org/licenses/LICENSE-2.0"), + null, + null + ) + } + + override fun expectedServers(): Map { + return mapOf( + Pair("test", Server.builder() + .host("test.mykafkacluster.org:8092") + .protocol("kafka-secure") + .description("Test broker") + .security(listOf(Reference("#/components/securitySchemes/saslScram"))) + .build() + ), + Pair("test_oauth", Server.builder() + .host("test.mykafkacluster.org:8093") + .protocol("kafka-secure") + .description("Test port for oauth") + .security(listOf( + OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:read", "Scope required for subscribing to channel"), + Pair("streetlights:write", "Scope required for publishing to channel") + ), + "https://example.com/api/oauth/dialog" + ), + null + ), + listOf("streetlights:write", "streetlights:read") + ) + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("lightingMeasured", + Channel.builder() + .address("smartylighting.streetlights.1.0.event.{streetlightId}.lighting.measured") + .messages(mapOf(Pair("lightMeasured", Reference("#/components/messages/lightMeasured")))) + .description("The topic on which measured values may be produced and consumed.") + .servers(listOf(Reference("#/servers/test"))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightTurnOn", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.turn.on") + .messages(mapOf(Pair("turnOn", Reference("#/components/messages/turnOnOff")))) + .servers(listOf(Reference("#/servers/test_oauth"))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightTurnOff", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.turn.off") + .messages(mapOf(Pair("turnOff", Reference("#/components/messages/turnOnOff")))) + .servers(listOf(Reference("#/servers/test_oauth"))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightsDim", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.dim") + .messages(mapOf(Pair("dimLight", Reference("#/components/messages/dimLight")))) + .servers(listOf(Reference("#/servers/test_oauth"))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + val oAuth2SecurityScheme = OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:read", "Scope required for subscribing to channel"), + Pair("streetlights:write", "Scope required for publishing to channel") + ), + "https://example.com/api/oauth/dialog" + ), + null + ), + listOf("streetlights:read") + ) + + return mapOf( + Pair("receiveLightMeasurement", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/lightingMeasured")) + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightingMeasured/messages/lightMeasured"))) + .build() + ), + Pair("turnOn", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOn")) + .security(listOf(oAuth2SecurityScheme)) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightTurnOn/messages/turnOn"))) + .build() + ), + Pair("turnOff", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOff")) + .security(listOf(oAuth2SecurityScheme)) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightTurnOff/messages/turnOff"))) + .build() + ), + Pair("dimLight", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightsDim")) + .security(listOf(oAuth2SecurityScheme)) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightsDim/messages/dimLight"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + // // messages, securitySchemes, + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", + Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .contentType("application/json") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/lightMeasuredPayload")) + .build() + ), + Pair("turnOnOff", + Message.builder() + .name("turnOnOff") + .title("Turn on/off") + .summary("Command a particular streetlight to turn the lights on or off.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/turnOnOffPayload")) + .build() + ), + Pair("dimLight", + Message.builder() + .name("dimLight") + .title("Dim light") + .summary("Command a particular streetlight to dim the lights.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/dimLightPayload")) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("turnOnOffPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("command", + Schema.builder() + .type("string") + .enumValue(listOf("on", "off")) + .description("Whether to turn on or off the light.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("dimLightPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("percentage", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .description("Percentage to which the light should be dimmed to.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("sentAt", + Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ) + )) + .securitySchemes(mapOf( + Pair("saslScram", + SecurityScheme.builder() + .type(SecurityScheme.Type.SCRAM_SHA256) + .description("Provide your username and password for SASL/SCRAM authentication") + .build() + ), + Pair("streetlights_auth", + OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:read", "Scope required for subscribing to channel"), + Pair("streetlights:write", "Scope required for publishing to channel") + ), + "https://example.com/api/oauth/dialog" + ), + null + ), + null + ) + ) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder().description("The ID of the streetlight.").build()) + )) + .messageTraits(mapOf( + Pair("commonHeaders", + MessageTrait.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("my-app-header", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .operationTraits(mapOf( + Pair("kafka", + OperationTrait.builder() + .bindings(mapOf( + Pair("kafka", KafkaOperationBinding.builder() + .clientId(Schema.builder() + .type("string") + .enumValue(listOf("my-app-id")) + .build() + ) + .build() + ) + )) + .build() + ) + )) + .build() + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-operation-security-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-operation-security-asyncapi.yml new file mode 100644 index 00000000..9a6da9a2 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-operation-security-asyncapi.yml @@ -0,0 +1,240 @@ +asyncapi: 3.0.0 +info: + title: Streetlights Kafka 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 \U0001F303\n* Dim a specific streetlight \U0001F60E\n* Receive real-time information about environmental lighting conditions \U0001F4C8\n" + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +defaultContentType: application/json +servers: + test: + host: 'test.mykafkacluster.org:8092' + protocol: kafka-secure + description: Test broker + security: + - $ref: '#/components/securitySchemes/saslScram' + test_oauth: + host: 'test.mykafkacluster.org:8093' + protocol: kafka-secure + description: Test port for oauth + security: + - type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'streetlights:read': Scope required for subscribing to channel + 'streetlights:write': Scope required for publishing to channel + scopes: + - 'streetlights:write' + - 'streetlights:read' +channels: + 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. + servers: + - $ref: '#/servers/test' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + lightTurnOn: + address: 'smartylighting.streetlights.1.0.action.{streetlightId}.turn.on' + messages: + turnOn: + $ref: '#/components/messages/turnOnOff' + servers: + - $ref: '#/servers/test_oauth' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + lightTurnOff: + address: 'smartylighting.streetlights.1.0.action.{streetlightId}.turn.off' + messages: + turnOff: + $ref: '#/components/messages/turnOnOff' + servers: + - $ref: '#/servers/test_oauth' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + lightsDim: + address: 'smartylighting.streetlights.1.0.action.{streetlightId}.dim' + messages: + dimLight: + $ref: '#/components/messages/dimLight' + servers: + - $ref: '#/servers/test_oauth' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' +operations: + receiveLightMeasurement: + action: receive + channel: + $ref: '#/channels/lightingMeasured' + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightingMeasured/messages/lightMeasured' + turnOn: + action: send + channel: + $ref: '#/channels/lightTurnOn' + security: + - type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'streetlights:read': Scope required for subscribing to channel + 'streetlights:write': Scope required for publishing to channel + scopes: + - 'streetlights:read' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightTurnOn/messages/turnOn' + turnOff: + action: send + channel: + $ref: '#/channels/lightTurnOff' + security: + - type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'streetlights:read': Scope required for subscribing to channel + 'streetlights:write': Scope required for publishing to channel + scopes: + - 'streetlights:read' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightTurnOff/messages/turnOff' + dimLight: + action: send + channel: + $ref: '#/channels/lightsDim' + security: + - type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'streetlights:read': Scope required for subscribing to channel + 'streetlights:write': Scope required for publishing to channel + scopes: + - 'streetlights:read' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightsDim/messages/dimLight' +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + contentType: application/json + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/lightMeasuredPayload' + turnOnOff: + name: turnOnOff + title: Turn on/off + summary: Command a particular streetlight to turn the lights on or off. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/turnOnOffPayload' + dimLight: + name: dimLight + title: Dim light + summary: Command a particular streetlight to dim the lights. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/dimLightPayload' + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: '#/components/schemas/sentAt' + turnOnOffPayload: + type: object + properties: + command: + type: string + enum: + - 'on' + - 'off' + description: Whether to turn on or off the light. + sentAt: + $ref: '#/components/schemas/sentAt' + dimLightPayload: + type: object + properties: + percentage: + type: integer + description: Percentage to which the light should be dimmed to. + minimum: 0 + maximum: 100 + sentAt: + $ref: '#/components/schemas/sentAt' + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + securitySchemes: + saslScram: + type: scramSha256 + description: Provide your username and password for SASL/SCRAM authentication + streetlights_auth: + type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'streetlights:read': Scope required for subscribing to channel + 'streetlights:write': Scope required for publishing to channel + parameters: + streetlightId: + description: The ID of the streetlight. + messageTraits: + commonHeaders: + headers: + type: object + properties: + my-app-header: + type: integer + minimum: 0 + maximum: 100 + operationTraits: + kafka: + bindings: + kafka: + clientId: + type: string + enum: + - my-app-id \ No newline at end of file From 9592cb39a4792b7018056a716fa04ce9f790e7fb Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 02:33:51 +0400 Subject: [PATCH 177/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Streetlights MQTT API --- .../v3/_0_0/StreetlightsMQTTAsyncAPI.kt | 385 ++++++++++++++++++ .../v3.0.0/streetlights-mqtt-asyncapi.yml | 253 ++++++++++++ 2 files changed, 638 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsMQTTAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-mqtt-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsMQTTAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsMQTTAsyncAPI.kt new file mode 100644 index 00000000..e9a4c330 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsMQTTAsyncAPI.kt @@ -0,0 +1,385 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.security_scheme.ApiKeySecurityScheme +import com.asyncapi.v3.security_scheme.OpenIdConnectSecurityScheme +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.License +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.OperationTrait +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3._0_0.model.server.ServerVariable +import com.asyncapi.v3.binding.operation.mqtt.MQTTOperationBinding +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v3.security_scheme.oauth2.flow.AuthorizationCodeOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.ImplicitOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.PasswordOAuthFlow +import java.math.BigDecimal + +class StreetlightsMQTTAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/streetlights-mqtt-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info( + "Streetlights MQTT API", + "1.0.0", + "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 \uD83C\uDF03\n" + + "* Dim a specific streetlight \uD83D\uDE0E\n" + + "* Receive real-time information about environmental lighting conditions \uD83D\uDCC8\n", + null, + null, + License("Apache 2.0", "https://www.apache.org/licenses/LICENSE-2.0"), + null, + null + ) + } + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("test.mosquitto.org:{port}") + .protocol("mqtt") + .description("Test broker") + .variables(mapOf( + Pair("port", + ServerVariable.builder() + .description("Secure connection (TLS) is available through port 8883.") + .defaultValue("1883") + .enumValues(listOf("1883", "8883")) + .build() + ) + )) + .security(listOf( + Reference("#/components/securitySchemes/apiKey"), + OAuth2SecurityScheme( + "Flows to support OAuth 2.0", + OAuthFlows( + ImplicitOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/auth" + ), + PasswordOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/token" + ), + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/token" + ), + AuthorizationCodeOAuthFlow( + "https://authserver.example/refresh", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/auth", + "https://authserver.example/token" + ) + ), + listOf("streetlights:on", "streetlights:off", "streetlights:dim") + ), + Reference("#/components/securitySchemes/openIdConnectWellKnown") + )) + .tags(listOf( + Tag("env:production", "This environment is meant for production use case", null), + Tag("kind:remote", "This server is a remote server. Not exposed by the application", null), + Tag("visibility:public", "This resource is public and available to everyone", null) + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("lightingMeasured", + Channel.builder() + .address("smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured") + .messages(mapOf( + Pair("lightMeasured", Reference("#/components/messages/lightMeasured")) + )) + .description("The topic on which measured values may be produced and consumed.") + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ), + Pair("lightTurnOn", + Channel.builder() + .address("smartylighting/streetlights/1/0/action/{streetlightId}/turn/on") + .messages(mapOf( + Pair("turnOn", Reference("#/components/messages/turnOnOff")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ), + Pair("lightTurnOff", + Channel.builder() + .address("smartylighting/streetlights/1/0/action/{streetlightId}/turn/off") + .messages(mapOf( + Pair("turnOff", Reference("#/components/messages/turnOnOff")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ), + Pair("lightsDim", + Channel.builder() + .address("smartylighting/streetlights/1/0/action/{streetlightId}/dim") + .messages(mapOf( + Pair("dimLight", Reference("#/components/messages/dimLight")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveLightMeasurement", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/lightingMeasured")) + .summary( + "Inform about environmental lighting conditions of a particular streetlight.") + .traits(listOf(Reference("#/components/operationTraits/mqtt"))) + .messages(listOf(Reference("#/channels/lightingMeasured/messages/lightMeasured"))) + .build() + ), + Pair("turnOn", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOn")) + .traits(listOf(Reference("#/components/operationTraits/mqtt"))) + .messages(listOf(Reference("#/channels/lightTurnOn/messages/turnOn"))) + .build() + ), + Pair("turnOff", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOff")) + .traits(listOf(Reference("#/components/operationTraits/mqtt"))) + .messages(listOf(Reference("#/channels/lightTurnOff/messages/turnOff"))) + .build() + ), + Pair("dimLight", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightsDim")) + .traits(listOf(Reference("#/components/operationTraits/mqtt"))) + .messages(listOf(Reference("#/channels/lightsDim/messages/dimLight"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", + Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .contentType("application/json") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/lightMeasuredPayload")) + .build() + ), + Pair("turnOnOff", + Message.builder() + .name("turnOnOff") + .title("Turn on/off") + .summary("Command a particular streetlight to turn the lights on or off.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/turnOnOffPayload")) + .build() + ), + Pair("dimLight", + Message.builder() + .name("dimLight") + .title("Dim light") + .summary("Command a particular streetlight to dim the lights.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/dimLightPayload")) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", Schema.builder().ref("#/components/schemas/sentAt").build()) + )) + .build() + ), + Pair("turnOnOffPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("command", + Schema.builder() + .type("string") + .enumValue(listOf("on", "off")) + .description("Whether to turn on or off the light.") + .build() + ), + Pair("sentAt", Schema.builder().ref("#/components/schemas/sentAt").build()) + )) + .build() + ), + Pair("dimLightPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("percentage", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .description("Percentage to which the light should be dimmed to.") + .build() + ), + Pair("sentAt", Schema.builder().ref("#/components/schemas/sentAt").build()) + )) + .build() + ), + Pair("sentAt", + Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ) + )) + .securitySchemes(mapOf( + Pair("apiKey", + ApiKeySecurityScheme("Provide your API key as the user and leave the password empty.", ApiKeySecurityScheme.ApiKeyLocation.USER) + ), + Pair("supportedOauthFlows", + OAuth2SecurityScheme( + "Flows to support OAuth 2.0", + OAuthFlows( + ImplicitOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/auth" + ), + PasswordOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/token" + ), + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/token" + ), + AuthorizationCodeOAuthFlow( + "https://authserver.example/refresh", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights") + ), + "https://authserver.example/auth", + "https://authserver.example/token" + ) + ), + null + ) + ), + Pair("openIdConnectWellKnown", OpenIdConnectSecurityScheme(null, "https://authserver.example/.well-known", null)) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder().description("The ID of the streetlight.").build()) + )) + .messageTraits(mapOf( + Pair("commonHeaders", + MessageTrait.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("my-app-header", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .operationTraits(mapOf( + Pair("mqtt", + OperationTrait.builder() + .bindings(mapOf( + Pair("mqtt", MQTTOperationBinding.builder().qos(1).build()) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-mqtt-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-mqtt-asyncapi.yml new file mode 100644 index 00000000..c94091c6 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-mqtt-asyncapi.yml @@ -0,0 +1,253 @@ +asyncapi: 3.0.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 \U0001F303\n* Dim a specific streetlight \U0001F60E\n* Receive real-time information about environmental lighting conditions \U0001F4C8\n" + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +defaultContentType: application/json +servers: + production: + host: 'test.mosquitto.org:{port}' + protocol: mqtt + description: Test broker + variables: + port: + description: Secure connection (TLS) is available through port 8883. + default: '1883' + enum: + - '1883' + - '8883' + security: + - $ref: '#/components/securitySchemes/apiKey' + - type: oauth2 + description: Flows to support OAuth 2.0 + flows: + implicit: + authorizationUrl: 'https://authserver.example/auth' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + password: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + clientCredentials: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + authorizationCode: + authorizationUrl: 'https://authserver.example/auth' + tokenUrl: 'https://authserver.example/token' + refreshUrl: 'https://authserver.example/refresh' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + 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 +channels: + 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' + lightTurnOn: + address: 'smartylighting/streetlights/1/0/action/{streetlightId}/turn/on' + messages: + turnOn: + $ref: '#/components/messages/turnOnOff' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + lightTurnOff: + address: 'smartylighting/streetlights/1/0/action/{streetlightId}/turn/off' + messages: + turnOff: + $ref: '#/components/messages/turnOnOff' + 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: + 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' + turnOn: + action: send + channel: + $ref: '#/channels/lightTurnOn' + traits: + - $ref: '#/components/operationTraits/mqtt' + messages: + - $ref: '#/channels/lightTurnOn/messages/turnOn' + turnOff: + action: send + channel: + $ref: '#/channels/lightTurnOff' + traits: + - $ref: '#/components/operationTraits/mqtt' + messages: + - $ref: '#/channels/lightTurnOff/messages/turnOff' + dimLight: + action: send + channel: + $ref: '#/channels/lightsDim' + traits: + - $ref: '#/components/operationTraits/mqtt' + messages: + - $ref: '#/channels/lightsDim/messages/dimLight' +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + contentType: application/json + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/lightMeasuredPayload' + turnOnOff: + name: turnOnOff + title: Turn on/off + summary: Command a particular streetlight to turn the lights on or off. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/turnOnOffPayload' + dimLight: + name: dimLight + title: Dim light + summary: Command a particular streetlight to dim the lights. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/dimLightPayload' + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: '#/components/schemas/sentAt' + turnOnOffPayload: + type: object + properties: + command: + type: string + enum: + - 'on' + - 'off' + description: Whether to turn on or off the light. + sentAt: + $ref: '#/components/schemas/sentAt' + dimLightPayload: + type: object + properties: + percentage: + type: integer + description: Percentage to which the light should be dimmed to. + minimum: 0 + maximum: 100 + sentAt: + $ref: '#/components/schemas/sentAt' + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + securitySchemes: + apiKey: + type: apiKey + in: user + description: Provide your API key as the user and leave the password empty. + supportedOauthFlows: + type: oauth2 + description: Flows to support OAuth 2.0 + flows: + implicit: + authorizationUrl: 'https://authserver.example/auth' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + password: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + clientCredentials: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + authorizationCode: + authorizationUrl: 'https://authserver.example/auth' + tokenUrl: 'https://authserver.example/token' + refreshUrl: 'https://authserver.example/refresh' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + openIdConnectWellKnown: + type: openIdConnect + openIdConnectUrl: 'https://authserver.example/.well-known' + parameters: + streetlightId: + description: The ID of the streetlight. + messageTraits: + commonHeaders: + headers: + type: object + properties: + my-app-header: + type: integer + minimum: 0 + maximum: 100 + operationTraits: + mqtt: + bindings: + mqtt: + qos: 1 \ No newline at end of file From 1ae87d57ec6ae396c76bf3353486fe86e60999b5 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 02:50:28 +0400 Subject: [PATCH 178/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - AnyOf example --- .../examples/v3/_0_0/AnyOfAsyncAPI.kt | 93 +++++++++++++++++++ .../examples/v3.0.0/anyof-asyncapi.yml | 36 +++++++ 2 files changed, 129 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AnyOfAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/anyof-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AnyOfAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AnyOfAsyncAPI.kt new file mode 100644 index 00000000..1e1219b1 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AnyOfAsyncAPI.kt @@ -0,0 +1,93 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3.schema.Schema + +class AnyOfAsyncAPI: AbstractExampleValidationTest() { + override fun specificationLocation(): String = "/examples/v3.0.0/anyof-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("AnyOf example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", + Channel.builder() + .address("test") + .messages(mapOf( + Pair("testMessages", Reference("#/components/messages/testMessages")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("test", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/test")) + .messages(listOf(Reference("#/channels/test/messages/testMessages"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("testMessages", + Message.builder() + .payload(Schema.builder() + .anyOf(listOf( + Schema.builder().ref("#/components/schemas/objectWithKey").build(), + Schema.builder().ref("#/components/schemas/objectWithKey2").build() + )) + .build() + ) + .build() + ) + )) + .schemas(mapOf( + Pair("objectWithKey", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", + Schema.builder() + .type("string") + .additionalProperties(false) + .build() + ) + )) + .build() + ), + Pair("objectWithKey2", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("key2", + Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + )) + .build() + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/anyof-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/anyof-asyncapi.yml new file mode 100644 index 00000000..6492902f --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/anyof-asyncapi.yml @@ -0,0 +1,36 @@ +asyncapi: 3.0.0 +info: + title: AnyOf example + version: 1.0.0 +channels: + test: + address: test + messages: + testMessages: + $ref: '#/components/messages/testMessages' +operations: + test: + action: receive + channel: + $ref: '#/channels/test' + messages: + - $ref: '#/channels/test/messages/testMessages' +components: + messages: + testMessages: + payload: + anyOf: + - $ref: '#/components/schemas/objectWithKey' + - $ref: '#/components/schemas/objectWithKey2' + schemas: + objectWithKey: + type: object + properties: + key: + type: string + additionalProperties: false + objectWithKey2: + type: object + properties: + key2: + type: string \ No newline at end of file From 087666fc0cefc06161a56c7763263cc990c77341 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 21:03:07 +0400 Subject: [PATCH 179/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Not example --- .../asyncapi/examples/v3/_0_0/NotAsyncAPI.kt | 76 +++++++++++++++++++ .../examples/v3.0.0/not-asyncapi.yml | 29 +++++++ 2 files changed, 105 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/NotAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/not-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/NotAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/NotAsyncAPI.kt new file mode 100644 index 00000000..ab5c395e --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/NotAsyncAPI.kt @@ -0,0 +1,76 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3.schema.Schema + +class NotAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/not-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Not example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", + Channel.builder() + .address("test") + .messages(mapOf( + Pair("testMessages", Reference("#/components/messages/testMessages")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("onTestMsg", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/test")) + .messages(listOf(Reference("#/channels/test/messages/testMessages"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("testMessages", + Message.builder() + .payload(Reference("#/components/schemas/testSchema")) + .build() + ) + )) + .schemas(mapOf( + Pair("testSchema", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", + Schema.builder() + .not(Schema.builder().type("integer").build()) + .build() + ) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/not-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/not-asyncapi.yml new file mode 100644 index 00000000..a8a1d181 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/not-asyncapi.yml @@ -0,0 +1,29 @@ +asyncapi: 3.0.0 +info: + title: Not example + version: 1.0.0 +channels: + test: + address: test + messages: + testMessages: + $ref: '#/components/messages/testMessages' +operations: + onTestMsg: + action: receive + channel: + $ref: '#/channels/test' + messages: + - $ref: '#/channels/test/messages/testMessages' +components: + messages: + testMessages: + payload: + $ref: '#/components/schemas/testSchema' + schemas: + testSchema: + type: object + properties: + key: + not: + type: integer \ No newline at end of file From 020771e2272bef705a8c4a25d260ec4beddbc1a3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 21:10:24 +0400 Subject: [PATCH 180/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - OneOf example --- .../examples/v3/_0_0/OneOfAsyncAPI.kt | 115 ++++++++++++++++++ .../examples/v3.0.0/oneof-asyncapi.yml | 57 +++++++++ 2 files changed, 172 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OneOfAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/oneof-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OneOfAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OneOfAsyncAPI.kt new file mode 100644 index 00000000..551e37fb --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OneOfAsyncAPI.kt @@ -0,0 +1,115 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3.schema.Schema + +class OneOfAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/oneof-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("OneOf example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", + Channel.builder() + .address("test") + .messages(mapOf( + Pair("testMessages", Reference("#/components/messages/testMessages")) + )) + .build() + ), + Pair("test2", + Channel.builder() + .address("test2") + .messages(mapOf( + Pair("objectWithKey", Message.builder().payload(Reference("#/components/schemas/objectWithKey")).build()), + Pair("objectWithKey2", Message.builder().payload(Reference("#/components/schemas/objectWithKey2")).build()) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("onTestMsg", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/test")) + .messages(listOf(Reference("#/channels/test/messages/testMessages"))) + .build() + ), + Pair("sendTest", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/test2")) + .messages(listOf( + Reference("#/channels/test2/messages/objectWithKey"), + Reference("#/channels/test2/messages/objectWithKey2") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("testMessages", + Message.builder() + .payload(Schema.builder() + .oneOf(listOf( + Schema.builder().ref("#/components/schemas/objectWithKey").build(), + Schema.builder().ref("#/components/schemas/objectWithKey2").build() + )) + .build() + ) + .build() + ), + Pair("testMessage1", + Message.builder() + .payload(Reference("#/components/schemas/objectWithKey")) + .build() + ), + Pair("testMessage2", + Message.builder() + .payload(Reference("#/components/schemas/objectWithKey2")) + .build() + ) + )) + .schemas(mapOf( + Pair("objectWithKey", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", Schema.builder().type("string").build()) + )) + .build() + ), + Pair("objectWithKey2", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("key2", Schema.builder().type("string").build()) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/oneof-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/oneof-asyncapi.yml new file mode 100644 index 00000000..1e023024 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/oneof-asyncapi.yml @@ -0,0 +1,57 @@ +asyncapi: 3.0.0 +info: + title: OneOf example + version: 1.0.0 +channels: + test: + address: test + messages: + testMessages: + $ref: '#/components/messages/testMessages' + test2: + address: test2 + messages: + objectWithKey: + payload: + $ref: '#/components/schemas/objectWithKey' + objectWithKey2: + payload: + $ref: '#/components/schemas/objectWithKey2' +operations: + onTestMsg: + action: receive + channel: + $ref: '#/channels/test' + messages: + - $ref: '#/channels/test/messages/testMessages' + sendTest: + action: send + channel: + $ref: '#/channels/test2' + messages: + - $ref: '#/channels/test2/messages/objectWithKey' + - $ref: '#/channels/test2/messages/objectWithKey2' +components: + messages: + testMessages: + payload: + oneOf: + - $ref: '#/components/schemas/objectWithKey' + - $ref: '#/components/schemas/objectWithKey2' + testMessage1: + payload: + $ref: '#/components/schemas/objectWithKey' + testMessage2: + payload: + $ref: '#/components/schemas/objectWithKey2' + schemas: + objectWithKey: + type: object + properties: + key: + type: string + objectWithKey2: + type: object + properties: + key2: + type: string \ No newline at end of file From 4eee5e0d6cae418f66ffc79c37aea43c2b3ffad8 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 22:15:34 +0400 Subject: [PATCH 181/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Application Headers example --- .../v3/_0_0/ApplicationHeadersAsyncAPI.kt | 162 ++++++++++++++++++ .../v3.0.0/application-headers-asyncapi.yml | 86 ++++++++++ 2 files changed, 248 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/ApplicationHeadersAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/application-headers-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/ApplicationHeadersAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/ApplicationHeadersAsyncAPI.kt new file mode 100644 index 00000000..e5f37000 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/ApplicationHeadersAsyncAPI.kt @@ -0,0 +1,162 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.License +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3._0_0.model.server.ServerVariable +import com.asyncapi.v3.schema.Schema +import java.math.BigDecimal + +class ApplicationHeadersAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/application-headers-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Application Headers example") + .version("1.0.0") + .description("A cut of the Streetlights API to test application header changes supporting") + .license(License( + "Apache 2.0", + "https://www.apache.org/licenses/LICENSE-2.0" + )) + .build() + } + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("test.mosquitto.org:{port}") + .protocol("mqtt") + .description("Test broker") + .variables(mapOf( + Pair("port", + ServerVariable.builder() + .description("Secure connection (TLS) is available through port 8883.") + .defaultValue("1883") + .enumValues(listOf("1883", "8883")) + .build() + ) + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("lightingMeasured", + Channel.builder() + .address("smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured") + .messages(mapOf( + Pair("lightMeasured", Reference("#/components/messages/lightMeasured")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveLightMeasurement", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/lightingMeasured")) + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .messages(listOf( + Reference("#/channels/lightingMeasured/messages/lightMeasured") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", + Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .correlationId(CorrelationId(null, "\$message.header#/MQMD/CorrelId")) + .contentType("application/json") + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("MQMD", Schema.builder() + .type("object") + .properties(mapOf( + Pair("CorrelId", Schema.builder() + .type("string") + .minLength(24) + .maxLength(24) + .format("binary") + .build() + ) + )) + .build() + ), + Pair("applicationInstanceId", Schema.builder().ref("#/components/schemas/applicationInstanceId").build()) + )) + .build() + ) + .payload(Reference("#/components/schemas/lightMeasuredPayload")) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", Schema.builder().ref("#/components/schemas/sentAt").build()) + )) + .build() + ), + Pair("sentAt", + Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ), + Pair("applicationInstanceId", + Schema.builder() + .type("string") + .description("Unique identifier for a given instance of the publishing application") + .build() + ) + )) + .parameters(mapOf( + Pair("streetlightId", + Parameter.builder() + .description("The ID of the streetlight.") + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/application-headers-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/application-headers-asyncapi.yml new file mode 100644 index 00000000..6edd83ae --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/application-headers-asyncapi.yml @@ -0,0 +1,86 @@ +asyncapi: 3.0.0 +info: + title: Application Headers example + version: 1.0.0 + description: A cut of the Streetlights API to test application header changes supporting + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +defaultContentType: application/json +servers: + production: + host: 'test.mosquitto.org:{port}' + protocol: mqtt + description: Test broker + variables: + port: + description: Secure connection (TLS) is available through port 8883. + default: '1883' + enum: + - '1883' + - '8883' +channels: + lightingMeasured: + address: 'smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured' + messages: + lightMeasured: + $ref: '#/components/messages/lightMeasured' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' +operations: + receiveLightMeasurement: + action: receive + channel: + $ref: '#/channels/lightingMeasured' + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + messages: + - $ref: '#/channels/lightingMeasured/messages/lightMeasured' +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + correlationId: + location: $message.header#/MQMD/CorrelId + contentType: application/json + headers: + type: object + properties: + MQMD: + type: object + properties: + CorrelId: + type: string + minLength: 24 + maxLength: 24 + format: binary + applicationInstanceId: + $ref: '#/components/schemas/applicationInstanceId' + payload: + $ref: '#/components/schemas/lightMeasuredPayload' + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: '#/components/schemas/sentAt' + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + applicationInstanceId: + description: Unique identifier for a given instance of the publishing application + type: string + parameters: + streetlightId: + description: The ID of the streetlight. \ No newline at end of file From 8f99561ef617e66b09d4941eb705ee9ff4b1ad80 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 22:19:41 +0400 Subject: [PATCH 182/210] docs: update asyncapi-core in README.md --- asyncapi-core/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asyncapi-core/README.md b/asyncapi-core/README.md index 369ac2b0..e1c491c3 100644 --- a/asyncapi-core/README.md +++ b/asyncapi-core/README.md @@ -14,7 +14,7 @@ which allows to use it in null-safety languages like `kotlin` without extra head com.asyncapi asyncapi-core - 1.0.0-EAP + 1.0.0-EAP-2 ``` From ffa139668c52a43ac93092b7a5b97a0782b383bc Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 22:30:39 +0400 Subject: [PATCH 183/210] docs: known open specifications to check compatibility with --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index e083a78c..ce033086 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,27 @@ Hints: - [Springwolf Core](https://github.com/springwolf/springwolf-core) - Automated documentation for async APIs built with Spring Boot - [AsyncAPI Quarkus](https://github.com/quarkiverse/quarkus-asyncapi) - Generates AsyncAPIRegistry and configuration classes for Quarkus +## Known open specifications to check compatibility with: +- [ ] [adeo-kafka-request-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/adeo-kafka-request-reply-asyncapi.yml) +- [x] [anyof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/anyof-asyncapi.yml) +- [x] [application-headers-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/application-headers-asyncapi.yml) +- [ ] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) +- [ ] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) +- [ ] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) +- [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) +- [ ] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) +- [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) +- [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) +- [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) +- [ ] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) +- [ ] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) +- [ ] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) +- [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) +- [ ] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) +- [x] [streetlights-mqtt-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-mqtt-asyncapi.yml) +- [x] [streetlights-operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-operation-security-asyncapi.yml) +- [x] [websocket-gemini-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/websocket-gemini-asyncapi.yml) + ## Contributors section ### Build From a2b9838e6acb78fe3749d0fc4200819a7e60f431 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 23:08:26 +0400 Subject: [PATCH 184/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Simple AsyncAPI example --- .../examples/v3/_0_0/SimpleAsyncAPI.kt | 83 +++++++++++++++++++ .../examples/v3.0.0/simple-asyncapi.yml | 31 +++++++ 2 files changed, 114 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SimpleAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/simple-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SimpleAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SimpleAsyncAPI.kt new file mode 100644 index 00000000..48d14e54 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SimpleAsyncAPI.kt @@ -0,0 +1,83 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3.schema.Schema + +class SimpleAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/simple-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Account Service") + .version("1.0.0") + .description("This service is in charge of processing user signups") + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("userSignedup", + Channel.builder() + .address("user/signedup") + .messages(mapOf( + Pair("UserSignedUp", Reference("#/components/messages/UserSignedUp")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("sendUserSignedup", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/userSignedup")) + .messages(listOf( + Reference("#/channels/userSignedup/messages/UserSignedUp") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("UserSignedUp", + Message.builder() + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("displayName", + Schema.builder() + .type("string") + .description("Name of the user") + .build() + ), + Pair("email", + Schema.builder() + .type("string") + .format("email") + .description("Email of the user") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/simple-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/simple-asyncapi.yml new file mode 100644 index 00000000..75572baf --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/simple-asyncapi.yml @@ -0,0 +1,31 @@ +asyncapi: 3.0.0 +info: + title: Account Service + version: 1.0.0 + description: This service is in charge of processing user signups +channels: + userSignedup: + address: user/signedup + messages: + UserSignedUp: + $ref: '#/components/messages/UserSignedUp' +operations: + sendUserSignedup: + action: send + channel: + $ref: '#/channels/userSignedup' + messages: + - $ref: '#/channels/userSignedup/messages/UserSignedUp' +components: + messages: + UserSignedUp: + payload: + type: object + properties: + displayName: + type: string + description: Name of the user + email: + type: string + format: email + description: Email of the user \ No newline at end of file From e891b992b4fa5e477c4c91f35cd02f38c6d21baa Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 23:09:07 +0400 Subject: [PATCH 185/210] docs: mark simple-asyncapi.yml as tested --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce033086..c0cd17fe 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Hints: - [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) - [ ] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) - [ ] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) -- [ ] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) +- [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) - [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) - [ ] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) - [x] [streetlights-mqtt-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-mqtt-asyncapi.yml) From e9e0824cb2f233652440549e1af8878f1db65bc2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 23:22:32 +0400 Subject: [PATCH 186/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Mercure AsyncAPI example --- README.md | 2 +- .../examples/v3/_0_0/MercureAsyncAPI.kt | 131 ++++++++++++++++++ .../examples/v3.0.0/mercure-asyncapi.yml | 58 ++++++++ 3 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/MercureAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/mercure-asyncapi.yml diff --git a/README.md b/README.md index c0cd17fe..484179ef 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Hints: - [ ] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) - [ ] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) - [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) -- [ ] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) +- [x] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) - [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) - [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) - [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/MercureAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/MercureAsyncAPI.kt new file mode 100644 index 00000000..a015c5d3 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/MercureAsyncAPI.kt @@ -0,0 +1,131 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.ExternalDocumentation +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.schema.Schema + +class MercureAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/mercure-asyncapi.yml" + + override fun expectedDefaultContentType(): String = "application/ld+json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Mercure Hub Example") + .version("1.0.0") + .description("This example demonstrates how to define a Mercure hub.") + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("demo.mercure.rocks") + .pathname("/.well-known/mercure") + .protocol("mercure") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("books", + Channel.builder() + .address("https://example.com/books/{id}") + .messages(mapOf( + Pair("book", Reference("#/components/messages/book")) + )) + .description( + "Every time a resource of type `http://schema.org/Book` is created or " + + "modified, a JSON-LD representation of the new version of this resource " + + "must be pushed in this Mercure topic." + ) + .parameters(mapOf( + Pair("id", Parameter.builder().description("ID of the book").build()) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("ReceiveBooksInfo", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/books")) + .messages(listOf( + Reference("#/channels/books/messages/book") + )) + .build() + ), + Pair("SendBooksInfo", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/books")) + .messages(listOf( + Reference("#/channels/books/messages/book") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("book", + Message.builder() + .summary("The content of a book resource.") + .externalDocs(ExternalDocumentation(null, "https://schema.org/Book")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("@id", + Schema.builder() + .type("string") + .format("iri-reference") + .build() + ), + Pair("@type", + Schema.builder() + .type("string") + .format("iri-reference") + .build() + ), + Pair("name", + Schema.builder() + .type("string") + .build() + ), + Pair("isbn", + Schema.builder() + .type("string") + .build() + ), + Pair("abstract", + Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/mercure-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/mercure-asyncapi.yml new file mode 100644 index 00000000..277705ed --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/mercure-asyncapi.yml @@ -0,0 +1,58 @@ +asyncapi: 3.0.0 +info: + title: Mercure Hub Example + version: 1.0.0 + description: This example demonstrates how to define a Mercure hub. +defaultContentType: application/ld+json +servers: + production: + host: demo.mercure.rocks + pathname: /.well-known/mercure + protocol: mercure +channels: + books: + address: 'https://example.com/books/{id}' + messages: + book: + $ref: '#/components/messages/book' + description: >- + Every time a resource of type `http://schema.org/Book` is created or + modified, a JSON-LD representation of the new version of this resource + must be pushed in this Mercure topic. + parameters: + id: + description: ID of the book +operations: + ReceiveBooksInfo: + action: receive + channel: + $ref: '#/channels/books' + messages: + - $ref: '#/channels/books/messages/book' + SendBooksInfo: + action: send + channel: + $ref: '#/channels/books' + messages: + - $ref: '#/channels/books/messages/book' +components: + messages: + book: + summary: The content of a book resource. + externalDocs: + url: 'https://schema.org/Book' + payload: + type: object + properties: + '@id': + type: string + format: iri-reference + '@type': + type: string + format: iri-reference + name: + type: string + isbn: + type: string + abstract: + type: string \ No newline at end of file From 31f15fe3bf47d6b6542b57dff6cdc7c3e6f460cc Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 23:44:12 +0400 Subject: [PATCH 187/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - RPC Client AsyncAPI example --- README.md | 2 +- .../v3/_0_0/AbstractExampleValidationTest.kt | 13 +- .../examples/v3/_0_0/RpcClientAsyncAPI.kt | 164 ++++++++++++++++++ .../examples/v3.0.0/rpc-client-asyncapi.yml | 72 ++++++++ 4 files changed, 249 insertions(+), 2 deletions(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcClientAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/rpc-client-asyncapi.yml diff --git a/README.md b/README.md index 484179ef..eabc5ad1 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Hints: - [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) - [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) - [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) -- [ ] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) +- [x] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) - [ ] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) - [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) - [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt index c5a1e14e..a20adde3 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AbstractExampleValidationTest.kt @@ -24,6 +24,17 @@ abstract class AbstractExampleValidationTest { ) } + open fun expectedId(): String? = null + + @Test + fun `ensure that id was read correctly`() { + Assertions.assertEquals( + specification().id, + expectedId(), + "id must be read correctly" + ) + } + open fun expectedDefaultContentType(): String? = null @Test @@ -79,7 +90,7 @@ abstract class AbstractExampleValidationTest { ) } - abstract fun expectedComponents(): Components + abstract fun expectedComponents(): Components? @Test fun `ensure that components were read correctly`() { diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcClientAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcClientAsyncAPI.kt new file mode 100644 index 00000000..8dff9686 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcClientAsyncAPI.kt @@ -0,0 +1,164 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelBinding +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelType +import com.asyncapi.v3.binding.channel.amqp.queue.AMQPChannelQueueProperties +import com.asyncapi.v3.binding.operation.amqp.AMQPOperationBinding +import com.asyncapi.v3.schema.Schema + +class RpcClientAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/rpc-client-asyncapi.yml" + + override fun expectedId(): String = "urn:example:rpcclient" + + override fun expectedInfo(): Info { + return Info.builder() + .title("RPC Client Example") + .version("1.0.0") + .description("This example demonstrates how to define an RPC client.") + .build() + } + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .host("rabbitmq.example.org") + .protocol("amqp") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("queue", + Channel.builder() + .address("{queue}") + .messages(mapOf( + Pair("receiveSumResult", + Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("result", Schema.builder() + .type("number") + .examples(listOf(7)) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .parameters(mapOf( + Pair("queue", Parameter()) + )) + .bindings(mapOf( + Pair("amqp", + AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .exclusive(true) + .build() + ) + .build() + ) + )) + .build() + ), + Pair("rpc_queue", + Channel.builder() + .address("rpc_queue") + .messages(mapOf( + Pair("requestSum", + Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("numbers", Schema.builder() + .type("array") + .items(Schema.builder() + .type("number") + .build() + ) + .examples(listOf(listOf(4, 3))) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .bindings(mapOf( + Pair("amqp", + AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .durable(false) + .build() + ) + .build() + ) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveSumResult", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/queue")) + .bindings(mapOf( + Pair("amqp", + AMQPOperationBinding.builder() + .ack(false) + .build() + ) + )) + .messages(listOf( + Reference("#/channels/queue/messages/receiveSumResult") + )) + .build() + ), + Pair("requestSum", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/rpc_queue")) + .bindings(mapOf( + Pair("amqp", + AMQPOperationBinding.builder() + .ack(true) + .build() + ) + )) + .messages(listOf( + Reference("#/channels/rpc_queue/messages/requestSum") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? = null + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-client-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-client-asyncapi.yml new file mode 100644 index 00000000..85299ee3 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-client-asyncapi.yml @@ -0,0 +1,72 @@ +asyncapi: 3.0.0 +id: 'urn:example:rpcclient' +info: + title: RPC Client Example + version: 1.0.0 + description: This example demonstrates how to define an RPC client. +defaultContentType: application/json +servers: + production: + host: rabbitmq.example.org + protocol: amqp +channels: + queue: + address: '{queue}' + messages: + receiveSumResult: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + result: + type: number + examples: + - 7 + parameters: + queue: {} + bindings: + amqp: + is: queue + queue: + exclusive: true + rpc_queue: + address: rpc_queue + messages: + requestSum: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + numbers: + type: array + items: + type: number + examples: + - - 4 + - 3 + bindings: + amqp: + is: queue + queue: + durable: false +operations: + receiveSumResult: + action: receive + channel: + $ref: '#/channels/queue' + bindings: + amqp: + ack: false + messages: + - $ref: '#/channels/queue/messages/receiveSumResult' + requestSum: + action: send + channel: + $ref: '#/channels/rpc_queue' + bindings: + amqp: + ack: true + messages: + - $ref: '#/channels/rpc_queue/messages/requestSum' \ No newline at end of file From 3d741568876d19172648a7fd6978ac0fce080c11 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Tue, 6 Feb 2024 23:50:49 +0400 Subject: [PATCH 188/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - RPC Server AsyncAPI example --- README.md | 2 +- .../examples/v3/_0_0/RpcServerAsyncAPI.kt | 157 ++++++++++++++++++ .../examples/v3.0.0/rpc-server-asyncapi.yml | 69 ++++++++ 3 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcServerAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/rpc-server-asyncapi.yml diff --git a/README.md b/README.md index eabc5ad1..4ae8c3d6 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Hints: - [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) - [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) - [x] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) -- [ ] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) +- [x] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) - [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) - [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) - [ ] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcServerAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcServerAsyncAPI.kt new file mode 100644 index 00000000..65614a4a --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/RpcServerAsyncAPI.kt @@ -0,0 +1,157 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelBinding +import com.asyncapi.v3.binding.channel.amqp.AMQPChannelType +import com.asyncapi.v3.binding.channel.amqp.queue.AMQPChannelQueueProperties +import com.asyncapi.v3.binding.operation.amqp.AMQPOperationBinding +import com.asyncapi.v3.schema.Schema + +class RpcServerAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/rpc-server-asyncapi.yml" + + override fun expectedId(): String = "urn:example:rpcserver" + + override fun expectedInfo(): Info { + return Info.builder() + .title("RPC Server Example") + .version("1.0.0") + .description("This example demonstrates how to define an RPC server.") + .build() + } + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .host("rabbitmq.example.org") + .protocol("amqp") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("queue", + Channel.builder() + .address("{queue}") + .messages(mapOf( + Pair("sendSumResult", + Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("result", Schema.builder() + .type("number") + .examples(listOf(7)) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .parameters(mapOf( + Pair("queue", Parameter()) + )) + .bindings(mapOf( + Pair("amqp", + AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .exclusive(true) + .build() + ) + .build() + ) + )) + .build() + ), + Pair("rpc_queue", + Channel.builder() + .address("rpc_queue") + .messages(mapOf( + Pair("sum", + Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("numbers", Schema.builder() + .type("array") + .items(Schema.builder() + .type("number") + .build() + ) + .examples(listOf(listOf(4, 3))) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .bindings(mapOf( + Pair("amqp", + AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .durable(false) + .build() + ) + .build() + ) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("sendSumResult", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/queue")) + .bindings(mapOf( + Pair("amqp", + AMQPOperationBinding.builder() + .ack(true) + .build() + ) + )) + .messages(listOf( + Reference("#/channels/queue/messages/sendSumResult") + )) + .build() + ), + Pair("sum", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/rpc_queue")) + .messages(listOf( + Reference("#/channels/rpc_queue/messages/sum") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? = null + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-server-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-server-asyncapi.yml new file mode 100644 index 00000000..0b946c79 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/rpc-server-asyncapi.yml @@ -0,0 +1,69 @@ +asyncapi: 3.0.0 +id: 'urn:example:rpcserver' +info: + title: RPC Server Example + version: 1.0.0 + description: This example demonstrates how to define an RPC server. +defaultContentType: application/json +servers: + production: + host: rabbitmq.example.org + protocol: amqp +channels: + queue: + address: '{queue}' + messages: + sendSumResult: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + result: + type: number + examples: + - 7 + parameters: + queue: {} + bindings: + amqp: + is: queue + queue: + exclusive: true + rpc_queue: + address: rpc_queue + messages: + sum: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + numbers: + type: array + items: + type: number + examples: + - - 4 + - 3 + bindings: + amqp: + is: queue + queue: + durable: false +operations: + sendSumResult: + action: send + channel: + $ref: '#/channels/queue' + bindings: + amqp: + ack: true + messages: + - $ref: '#/channels/queue/messages/sendSumResult' + sum: + action: receive + channel: + $ref: '#/channels/rpc_queue' + messages: + - $ref: '#/channels/rpc_queue/messages/sum' \ No newline at end of file From 64af94e121ea15ee90f19cde256e0b4e18a47f08 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 7 Feb 2024 00:54:37 +0400 Subject: [PATCH 189/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Streetlights Kafka AsyncAPI example --- README.md | 2 +- .../v3/_0_0/StreetlightsKafkaAsyncAPI.kt | 311 ++++++++++++++++++ .../v3.0.0/streetlights-kafka-asyncapi.yml | 199 +++++++++++ 3 files changed, 511 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsKafkaAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-kafka-asyncapi.yml diff --git a/README.md b/README.md index 4ae8c3d6..5dca70a8 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Hints: - [x] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) - [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) - [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) -- [ ] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) +- [x] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) - [x] [streetlights-mqtt-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-mqtt-asyncapi.yml) - [x] [streetlights-operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-operation-security-asyncapi.yml) - [x] [websocket-gemini-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/websocket-gemini-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsKafkaAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsKafkaAsyncAPI.kt new file mode 100644 index 00000000..fb29727f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/StreetlightsKafkaAsyncAPI.kt @@ -0,0 +1,311 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageTrait +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.License +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.OperationTrait +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBinding +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.SecurityScheme +import java.math.BigDecimal + +class StreetlightsKafkaAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/streetlights-kafka-asyncapi.yml" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info( + "Streetlights Kafka API", + "1.0.0", + "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 \uD83C\uDF03\n" + + "* Dim a specific streetlight \uD83D\uDE0E\n" + + "* Receive real-time information about environmental lighting conditions \uD83D\uDCC8\n", + null, + null, + License("Apache 2.0", "https://www.apache.org/licenses/LICENSE-2.0"), + null, + null + ) + } + + override fun expectedServers(): Map { + return mapOf( + Pair("scram-connections", Server.builder() + .host("test.mykafkacluster.org:18092") + .protocol("kafka-secure") + .description("Test broker secured with scramSha256") + .security(listOf(Reference("#/components/securitySchemes/saslScram"))) + .tags(listOf( + Tag.builder() + .name("env:test-scram") + .description("This environment is meant for running internal tests through scramSha256") + .build(), + Tag.builder() + .name("kind:remote") + .description("This server is a remote server. Not exposed by the application") + .build(), + Tag.builder() + .name("visibility:private") + .description("This resource is private and only available to certain users") + .build() + )) + .build() + ), + Pair("mtls-connections", Server.builder() + .host("test.mykafkacluster.org:28092") + .protocol("kafka-secure") + .description("Test broker secured with X509") + .security(listOf( + Reference("#/components/securitySchemes/certs") + )) + .tags(listOf( + Tag.builder() + .name("env:test-mtls") + .description("This environment is meant for running internal tests through mtls") + .build(), + Tag.builder() + .name("kind:remote") + .description("This server is a remote server. Not exposed by the application") + .build(), + Tag.builder() + .name("visibility:private") + .description("This resource is private and only available to certain users") + .build() + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("lightingMeasured", + Channel.builder() + .address("smartylighting.streetlights.1.0.event.{streetlightId}.lighting.measured") + .messages(mapOf(Pair("lightMeasured", Reference("#/components/messages/lightMeasured")))) + .description("The topic on which measured values may be produced and consumed.") + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightTurnOn", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.turn.on") + .messages(mapOf(Pair("turnOn", Reference("#/components/messages/turnOnOff")))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightTurnOff", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.turn.off") + .messages(mapOf(Pair("turnOff", Reference("#/components/messages/turnOnOff")))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ), + Pair("lightsDim", + Channel.builder() + .address("smartylighting.streetlights.1.0.action.{streetlightId}.dim") + .messages(mapOf(Pair("dimLight", Reference("#/components/messages/dimLight")))) + .parameters(mapOf(Pair("streetlightId", Reference("#/components/parameters/streetlightId")))) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveLightMeasurement", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/lightingMeasured")) + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightingMeasured/messages/lightMeasured"))) + .build() + ), + Pair("turnOn", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOn")) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightTurnOn/messages/turnOn"))) + .build() + ), + Pair("turnOff", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightTurnOff")) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightTurnOff/messages/turnOff"))) + .build() + ), + Pair("dimLight", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightsDim")) + .traits(listOf(Reference("#/components/operationTraits/kafka"))) + .messages(listOf(Reference("#/channels/lightsDim/messages/dimLight"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", + Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .contentType("application/json") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/lightMeasuredPayload")) + .build() + ), + Pair("turnOnOff", + Message.builder() + .name("turnOnOff") + .title("Turn on/off") + .summary("Command a particular streetlight to turn the lights on or off.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/turnOnOffPayload")) + .build() + ), + Pair("dimLight", + Message.builder() + .name("dimLight") + .title("Dim light") + .summary("Command a particular streetlight to dim the lights.") + .traits(listOf(Reference("#/components/messageTraits/commonHeaders"))) + .payload(Reference("#/components/schemas/dimLightPayload")) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("turnOnOffPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("command", + Schema.builder() + .type("string") + .enumValue(listOf("on", "off")) + .description("Whether to turn on or off the light.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("dimLightPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("percentage", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .description("Percentage to which the light should be dimmed to.") + .build() + ), + Pair("sentAt", + Schema.builder().ref("#/components/schemas/sentAt").build() + ) + )) + .build() + ), + Pair("sentAt", + Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ) + )) + .securitySchemes(mapOf( + Pair("saslScram", + SecurityScheme.builder() + .type(SecurityScheme.Type.SCRAM_SHA256) + .description("Provide your username and password for SASL/SCRAM authentication") + .build() + ), + Pair("certs", + SecurityScheme( + SecurityScheme.Type.X509, + "Download the certificate files from service provider" + ) + ) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder().description("The ID of the streetlight.").build()) + )) + .messageTraits(mapOf( + Pair("commonHeaders", + MessageTrait.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("my-app-header", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .build() + ) + )) + .build() + ) + .build() + ) + )) + .operationTraits(mapOf( + Pair("kafka", + OperationTrait.builder() + .bindings(mapOf( + Pair("kafka", KafkaOperationBinding.builder() + .clientId(Schema.builder() + .type("string") + .enumValue(listOf("my-app-id")) + .build() + ) + .build() + ) + )) + .build() + ) + )) + .build() + } +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-kafka-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-kafka-asyncapi.yml new file mode 100644 index 00000000..9df24bae --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/streetlights-kafka-asyncapi.yml @@ -0,0 +1,199 @@ +asyncapi: 3.0.0 +info: + title: Streetlights Kafka 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 \U0001F303\n* Dim a specific streetlight \U0001F60E\n* Receive real-time information about environmental lighting conditions \U0001F4C8\n" + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +defaultContentType: application/json +servers: + scram-connections: + host: 'test.mykafkacluster.org:18092' + protocol: kafka-secure + description: Test broker secured with scramSha256 + security: + - $ref: '#/components/securitySchemes/saslScram' + tags: + - name: 'env:test-scram' + description: >- + This environment is meant for running internal tests through + scramSha256 + - name: 'kind:remote' + description: This server is a remote server. Not exposed by the application + - name: 'visibility:private' + description: This resource is private and only available to certain users + mtls-connections: + host: 'test.mykafkacluster.org:28092' + protocol: kafka-secure + description: Test broker secured with X509 + security: + - $ref: '#/components/securitySchemes/certs' + tags: + - name: 'env:test-mtls' + description: This environment is meant for running internal tests through mtls + - name: 'kind:remote' + description: This server is a remote server. Not exposed by the application + - name: 'visibility:private' + description: This resource is private and only available to certain users +channels: + 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' + lightTurnOn: + address: 'smartylighting.streetlights.1.0.action.{streetlightId}.turn.on' + messages: + turnOn: + $ref: '#/components/messages/turnOnOff' + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + lightTurnOff: + address: 'smartylighting.streetlights.1.0.action.{streetlightId}.turn.off' + messages: + turnOff: + $ref: '#/components/messages/turnOnOff' + 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: + receiveLightMeasurement: + action: receive + channel: + $ref: '#/channels/lightingMeasured' + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightingMeasured/messages/lightMeasured' + turnOn: + action: send + channel: + $ref: '#/channels/lightTurnOn' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightTurnOn/messages/turnOn' + turnOff: + action: send + channel: + $ref: '#/channels/lightTurnOff' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightTurnOff/messages/turnOff' + dimLight: + action: send + channel: + $ref: '#/channels/lightsDim' + traits: + - $ref: '#/components/operationTraits/kafka' + messages: + - $ref: '#/channels/lightsDim/messages/dimLight' +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + contentType: application/json + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/lightMeasuredPayload' + turnOnOff: + name: turnOnOff + title: Turn on/off + summary: Command a particular streetlight to turn the lights on or off. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/turnOnOffPayload' + dimLight: + name: dimLight + title: Dim light + summary: Command a particular streetlight to dim the lights. + traits: + - $ref: '#/components/messageTraits/commonHeaders' + payload: + $ref: '#/components/schemas/dimLightPayload' + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: '#/components/schemas/sentAt' + turnOnOffPayload: + type: object + properties: + command: + type: string + enum: + - 'on' + - 'off' + description: Whether to turn on or off the light. + sentAt: + $ref: '#/components/schemas/sentAt' + dimLightPayload: + type: object + properties: + percentage: + type: integer + description: Percentage to which the light should be dimmed to. + minimum: 0 + maximum: 100 + sentAt: + $ref: '#/components/schemas/sentAt' + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + securitySchemes: + saslScram: + type: scramSha256 + description: Provide your username and password for SASL/SCRAM authentication + certs: + type: X509 + description: Download the certificate files from service provider + parameters: + streetlightId: + description: The ID of the streetlight. + messageTraits: + commonHeaders: + headers: + type: object + properties: + my-app-header: + type: integer + minimum: 0 + maximum: 100 + operationTraits: + kafka: + bindings: + kafka: + clientId: + type: string + enum: + - my-app-id \ No newline at end of file From 58484837874de26f8dfeff5d2ba540193b1ea535 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 7 Feb 2024 02:21:28 +0400 Subject: [PATCH 190/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Operation Security AsyncAPI example --- README.md | 2 +- .../v3/_0_0/OperationSecurityAsyncAPI.kt | 229 ++++++++++++++++++ .../v3.0.0/operation-security-asyncapi.yml | 117 +++++++++ 3 files changed, 347 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OperationSecurityAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/operation-security-asyncapi.yml diff --git a/README.md b/README.md index 5dca70a8..c90cb4eb 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Hints: - [x] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) - [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) - [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) -- [ ] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) +- [x] [operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/operation-security-asyncapi.yml) - [x] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) - [x] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) - [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OperationSecurityAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OperationSecurityAsyncAPI.kt new file mode 100644 index 00000000..46cd3011 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/OperationSecurityAsyncAPI.kt @@ -0,0 +1,229 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3.binding.operation.http.HTTPOperationBinding +import com.asyncapi.v3.binding.operation.http.HTTPOperationMethod +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v3.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow + +class OperationSecurityAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/operation-security-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Notifications") + .version("1.0.0") + .description("This contract defines HTTP Push notification for application authorization revocation topic") + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("authRevoke", + Channel.builder() + .address("AUTHORIZATION_REVOCATION") + .messages(mapOf( + Pair("message", Reference("#/components/messages/message")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("sendAuthRevoke", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/authRevoke")) + .security(listOf( + OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("subscribe:auth_revocations", "Scope required for authorization revocation topic") + ), + "https://example.com/api/oauth/dialog" + ), + null + ), + listOf("subscribe:auth_revocations"), + ) + )) + .bindings(mapOf( + Pair("http", HTTPOperationBinding.builder() + .method(HTTPOperationMethod.POST) + .build()) + )) + .messages(listOf( + Reference("#/channels/authRevoke/messages/message") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("message", + Message.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("X-SIGNATURE", Schema.builder() + .description("ECC message signature") + .type("string") + .build() + ), + Pair("Content-Type", Schema.builder() + .type("string") + .enumValue(listOf( + "application/json" + )) + .build() + ) + )) + .build()) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("metadata", Schema.builder().ref("#/components/schemas/MetaData").build()), + Pair("notification", Schema.builder().ref("#/components/schemas/Notification").build()) + )) + .build()) + .build() + ) + )) + .schemas(mapOf( + Pair("MetaData", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("topic", Schema.builder() + .type("string") + .description("Topic subscribed to.") + .build() + ), + Pair("schemaVersion", Schema.builder() + .type("string") + .description("The schema for this topic.") + .build() + ), + Pair("deprecated", Schema.builder() + .type("boolean") + .description("If this is a deprecated schema or topic.") + .defaultValue("false") + .build() + ) + )) + .build() + ), + Pair("Notification", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("notificationId", Schema.builder() + .type("string") + .description("The notification Id.") + .build() + ), + Pair("eventDate", Schema.builder() + .type("string") + .description("The event date associated with this notification in UTC.") + .build() + ), + Pair("publishDate", Schema.builder() + .type("string") + .description("The message publish date in UTC.") + .build() + ), + Pair("publishAttemptCount", Schema.builder() + .type("integer") + .description("The number of attempts made to publish this message.") + .build() + ), + Pair("data", Schema.builder() + .ref("#/components/schemas/AuthorizationRevocationData") + .build() + ) + )) + .build() + ), + Pair("AuthorizationRevocationData", + Schema.builder() + .type("object") + .description("The Authorization Revocation payload.") + .properties(mapOf( + Pair("username", Schema.builder() + .type("string") + .description("The username for the user.") + .build() + ), + Pair("userId", Schema.builder() + .type("string") + .description("The immutable public userId for the user") + .build() + ), + Pair("eiasToken", Schema.builder() + .type("string") + .description("The legacy eiasToken specific to the user") + .build() + ), + Pair("revokeReason", Schema.builder() + .type("string") + .description("The reason for authorization revocation") + .enumValue(listOf( + "REVOKED_BY_APP", + "REVOKED_BY_USER", + "REVOKED_BY_ADMIN", + "PASSWORD_CHANGE" + )) + .build() + ), + Pair("revocationDate", Schema.builder() + .type("string") + .description("Date and time when the authorization was revoked") + .build() + ) + )) + .build() + ) + )) + .securitySchemes(mapOf( + Pair("petstore_auth", OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("subscribe:auth_revocations", "Scope required for authorization revocation topic") + ), + "https://example.com/api/oauth/dialog" + ), + null + ), + null + )) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/operation-security-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/operation-security-asyncapi.yml new file mode 100644 index 00000000..cd003954 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/operation-security-asyncapi.yml @@ -0,0 +1,117 @@ +asyncapi: 3.0.0 +info: + title: Notifications + version: 1.0.0 + description: >- + This contract defines HTTP Push notification for application authorization + revocation topic +channels: + authRevoke: + address: AUTHORIZATION_REVOCATION + messages: + message: + $ref: '#/components/messages/message' +operations: + sendAuthRevoke: + action: send + channel: + $ref: '#/channels/authRevoke' + security: + - type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'subscribe:auth_revocations': Scope required for authorization revocation topic + scopes: + - 'subscribe:auth_revocations' + bindings: + http: + method: POST + messages: + - $ref: '#/channels/authRevoke/messages/message' +components: + messages: + message: + headers: + type: object + properties: + X-SIGNATURE: + description: ECC message signature + type: string + Content-Type: + type: string + enum: + - application/json + payload: + type: object + properties: + metadata: + $ref: '#/components/schemas/MetaData' + notification: + $ref: '#/components/schemas/Notification' + schemas: + MetaData: + type: object + properties: + topic: + type: string + description: Topic subscribed to. + schemaVersion: + type: string + description: The schema for this topic. + deprecated: + type: boolean + description: If this is a deprecated schema or topic. + default: 'false' + Notification: + type: object + properties: + notificationId: + type: string + description: The notification Id. + eventDate: + type: string + description: The event date associated with this notification in UTC. + publishDate: + type: string + description: The message publish date in UTC. + publishAttemptCount: + type: integer + description: The number of attempts made to publish this message. + data: + $ref: '#/components/schemas/AuthorizationRevocationData' + AuthorizationRevocationData: + type: object + description: The Authorization Revocation payload. + properties: + username: + type: string + description: The username for the user. + userId: + type: string + description: The immutable public userId for the user + eiasToken: + type: string + description: The legacy eiasToken specific to the user + revokeReason: + type: string + enum: + - REVOKED_BY_APP + - REVOKED_BY_USER + - REVOKED_BY_ADMIN + - PASSWORD_CHANGE + description: The reason for authorization revocation + revocationDate: + type: string + description: Date and time when the authorization was revoked + securitySchemes: + petstore_auth: + type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + availableScopes: + 'subscribe:auth_revocations': Scope required for authorization revocation topic \ No newline at end of file From c2feea5dc1d5a50c21319c6af1233542243522f0 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 7 Feb 2024 04:02:52 +0400 Subject: [PATCH 191/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Slack Real Time Messaging API example --- README.md | 2 +- .../examples/v3/_0_0/SlackRtmAsyncAPI.kt | 1634 +++++++++++++++++ .../examples/v3.0.0/slack-rtm-asyncapi.yml | 982 ++++++++++ 3 files changed, 2617 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SlackRtmAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/slack-rtm-asyncapi.yml diff --git a/README.md b/README.md index c90cb4eb..c6e77335 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Hints: - [x] [rpc-client-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-client-asyncapi.yml) - [x] [rpc-server-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/rpc-server-asyncapi.yml) - [x] [simple-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml) -- [ ] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) +- [x] [slack-rtm-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/slack-rtm-asyncapi.yml) - [x] [streetlights-kafka-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-kafka-asyncapi.yml) - [x] [streetlights-mqtt-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-mqtt-asyncapi.yml) - [x] [streetlights-operation-security-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/streetlights-operation-security-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SlackRtmAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SlackRtmAsyncAPI.kt new file mode 100644 index 00000000..18966b59 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/SlackRtmAsyncAPI.kt @@ -0,0 +1,1634 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.http.HttpApiKeySecurityScheme + +class SlackRtmAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/slack-rtm-asyncapi.yml" + + override fun expectedId(): String = "wss://wss-primary.slack.com/websocket" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Slack Real Time Messaging API") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("slack.com") + .pathname("/api/rtm.connect") + .protocol("https") + .protocolVersion("1.1") + .security(listOf( + Reference("#/components/securitySchemes/token") + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("root", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("outgoingMessage", Reference("#/components/messages/outgoingMessage")), + Pair("hello", Reference("#/components/messages/hello")), + Pair("connectionError", Reference("#/components/messages/connectionError")), + Pair("accountsChanged", Reference("#/components/messages/accountsChanged")), + Pair("botAdded", Reference("#/components/messages/botAdded")), + Pair("botChanged", Reference("#/components/messages/botChanged")), + Pair("channelArchive", Reference("#/components/messages/channelArchive")), + Pair("channelCreated", Reference("#/components/messages/channelCreated")), + Pair("channelDeleted", Reference("#/components/messages/channelDeleted")), + Pair("channelHistoryChanged", Reference("#/components/messages/channelHistoryChanged")), + Pair("channelJoined", Reference("#/components/messages/channelJoined")), + Pair("channelLeft", Reference("#/components/messages/channelLeft")), + Pair("channelMarked", Reference("#/components/messages/channelMarked")), + Pair("channelRename", Reference("#/components/messages/channelRename")), + Pair("channelUnarchive", Reference("#/components/messages/channelUnarchive")), + Pair("commandsChanged", Reference("#/components/messages/commandsChanged")), + Pair("dndUpdated", Reference("#/components/messages/dndUpdated")), + Pair("dndUpdatedUser", Reference("#/components/messages/dndUpdatedUser")), + Pair("emailDomainChanged", Reference("#/components/messages/emailDomainChanged")), + Pair("emojiRemoved", Reference("#/components/messages/emojiRemoved")), + Pair("emojiAdded", Reference("#/components/messages/emojiAdded")), + Pair("fileChange", Reference("#/components/messages/fileChange")), + Pair("fileCommentAdded", Reference("#/components/messages/fileCommentAdded")), + Pair("fileCommentDeleted", Reference("#/components/messages/fileCommentDeleted")), + Pair("fileCommentEdited", Reference("#/components/messages/fileCommentEdited")), + Pair("fileCreated", Reference("#/components/messages/fileCreated")), + Pair("fileDeleted", Reference("#/components/messages/fileDeleted")), + Pair("filePublic", Reference("#/components/messages/filePublic")), + Pair("fileShared", Reference("#/components/messages/fileShared")), + Pair("fileUnshared", Reference("#/components/messages/fileUnshared")), + Pair("goodbye", Reference("#/components/messages/goodbye")), + Pair("groupArchive", Reference("#/components/messages/groupArchive")), + Pair("groupClose", Reference("#/components/messages/groupClose")), + Pair("groupHistoryChanged", Reference("#/components/messages/groupHistoryChanged")), + Pair("groupJoined", Reference("#/components/messages/groupJoined")), + Pair("groupLeft", Reference("#/components/messages/groupLeft")), + Pair("groupMarked", Reference("#/components/messages/groupMarked")), + Pair("groupOpen", Reference("#/components/messages/groupOpen")), + Pair("groupRename", Reference("#/components/messages/groupRename")), + Pair("groupUnarchive", Reference("#/components/messages/groupUnarchive")), + Pair("imClose", Reference("#/components/messages/imClose")), + Pair("imCreated", Reference("#/components/messages/imCreated")), + Pair("imMarked", Reference("#/components/messages/imMarked")), + Pair("imOpen", Reference("#/components/messages/imOpen")), + Pair("manualPresenceChange", Reference("#/components/messages/manualPresenceChange")), + Pair("memberJoinedChannel", Reference("#/components/messages/memberJoinedChannel")), + Pair("message", Reference("#/components/messages/message")), + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveOutgoingMessage", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/root")) + .messages(listOf( + Reference("#/channels/root/messages/outgoingMessage") + )) + .build() + ), + Pair("sendMessages", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/root")) + .messages(listOf( + Reference("#/channels/root/messages/hello"), + Reference("#/channels/root/messages/connectionError"), + Reference("#/channels/root/messages/accountsChanged"), + Reference("#/channels/root/messages/botAdded"), + Reference("#/channels/root/messages/botChanged"), + Reference("#/channels/root/messages/channelArchive"), + Reference("#/channels/root/messages/channelCreated"), + Reference("#/channels/root/messages/channelDeleted"), + Reference("#/channels/root/messages/channelHistoryChanged"), + Reference("#/channels/root/messages/channelJoined"), + Reference("#/channels/root/messages/channelLeft"), + Reference("#/channels/root/messages/channelMarked"), + Reference("#/channels/root/messages/channelRename"), + Reference("#/channels/root/messages/channelUnarchive"), + Reference("#/channels/root/messages/commandsChanged"), + Reference("#/channels/root/messages/dndUpdated"), + Reference("#/channels/root/messages/dndUpdatedUser"), + Reference("#/channels/root/messages/emailDomainChanged"), + Reference("#/channels/root/messages/emojiRemoved"), + Reference("#/channels/root/messages/emojiAdded"), + Reference("#/channels/root/messages/fileChange"), + Reference("#/channels/root/messages/fileCommentAdded"), + Reference("#/channels/root/messages/fileCommentDeleted"), + Reference("#/channels/root/messages/fileCommentEdited"), + Reference("#/channels/root/messages/fileCreated"), + Reference("#/channels/root/messages/fileDeleted"), + Reference("#/channels/root/messages/filePublic"), + Reference("#/channels/root/messages/fileShared"), + Reference("#/channels/root/messages/fileUnshared"), + Reference("#/channels/root/messages/goodbye"), + Reference("#/channels/root/messages/groupArchive"), + Reference("#/channels/root/messages/groupClose"), + Reference("#/channels/root/messages/groupHistoryChanged"), + Reference("#/channels/root/messages/groupJoined"), + Reference("#/channels/root/messages/groupLeft"), + Reference("#/channels/root/messages/groupMarked"), + Reference("#/channels/root/messages/groupOpen"), + Reference("#/channels/root/messages/groupRename"), + Reference("#/channels/root/messages/groupUnarchive"), + Reference("#/channels/root/messages/imClose"), + Reference("#/channels/root/messages/imCreated"), + Reference("#/channels/root/messages/imMarked"), + Reference("#/channels/root/messages/imOpen"), + Reference("#/channels/root/messages/manualPresenceChange"), + Reference("#/channels/root/messages/memberJoinedChannel"), + Reference("#/channels/root/messages/message"), + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .securitySchemes(mapOf( + Pair("token", HttpApiKeySecurityScheme( + null, + "token", + HttpApiKeySecurityScheme.ApiKeyLocation.QUERY + )) + )) + .schemas(mapOf( + Pair("attachment", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("fallback", Schema.builder() + .type("string") + .build() + ), + Pair("color", Schema.builder() + .type("string") + .build() + ), + Pair("pretext", Schema.builder() + .type("string") + .build() + ), + Pair("author_name", Schema.builder() + .type("string") + .build() + ), + Pair("author_link", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("author_icon", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("title", Schema.builder() + .type("string") + .build() + ), + Pair("title_link", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("text", Schema.builder() + .type("string") + .build() + ), + Pair("fields", Schema.builder() + .type("array") + .items(Schema.builder() + .type("object") + .properties(mapOf( + Pair("title", Schema.builder() + .type("string") + .build() + ), + Pair("value", Schema.builder() + .type("string") + .build() + ), + Pair("short", Schema.builder() + .type("boolean") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("image_url", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("thumb_url", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("footer", Schema.builder() + .type("string") + .build() + ), + Pair("footer_icon", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("ts", Schema.builder() + .type("number") + .build() + ), + )) + .build() + ) + )) + .messages(mapOf( + Pair("hello", + Message.builder() + .summary("First event received upon connection.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("hello")) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("connectionError", + Message.builder() + .summary("Event received when a connection error happens.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("error")) + .build() + ), + Pair("error", Schema.builder() + .type("object") + .properties(mapOf( + Pair("code", Schema.builder().type("number").build()), + Pair("msg", Schema.builder().type("string").build()), + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("accountsChanged", + Message.builder() + .summary("The list of accounts a user is signed into has changed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("accounts_changed")) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("botAdded", + Message.builder() + .summary("A bot user was added.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("bot_added")) + .build() + ), + Pair("bot", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("app_id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("icons", Schema.builder() + .type("object") + .additionalProperties(Schema.builder().type("string").build()) + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("botChanged", + Message.builder() + .summary("A bot user was changed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("bot_added")) + .build() + ), + Pair("bot", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("app_id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("icons", Schema.builder() + .type("object") + .additionalProperties(Schema.builder().type("string").build()) + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelArchive", + Message.builder() + .summary("A channel was archived.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_archive")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("channelCreated", + Message.builder() + .summary("A channel was created.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_created")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ), + Pair("creator", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelDeleted", + Message.builder() + .summary("A channel was deleted.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_deleted")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelHistoryChanged", + Message.builder() + .summary("Bulk updates were made to a channel's history.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_history_changed")) + .build() + ), + Pair("latest", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelJoined", + Message.builder() + .summary("You joined a channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_joined")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ), + Pair("creator", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelLeft", + Message.builder() + .summary("You left a channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_left")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelMarked", + Message.builder() + .summary("Your channel read marker was updated.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_marked")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ), + Pair("channelRename", + Message.builder() + .summary("A channel was renamed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_rename")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ) + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("channelUnarchive", + Message.builder() + .summary("A channel was unarchived.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("channel_unarchive")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("commandsChanged", + Message.builder() + .summary("A slash command has been added or changed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("commands_changed")) + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + .build() + ), + Pair("dndUpdated", + Message.builder() + .summary("Do not Disturb settings changed for the current user.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("dnd_updated")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("dnd_status", Schema.builder() + .type("object") + .properties(mapOf( + Pair("dnd_enabled", Schema.builder() + .type("boolean") + .build() + ), + Pair("next_dnd_start_ts", Schema.builder() + .type("number") + .build() + ), + Pair("next_dnd_end_ts", Schema.builder() + .type("number") + .build() + ), + Pair("snooze_enabled", Schema.builder() + .type("boolean") + .build() + ), + Pair("snooze_endtime", Schema.builder() + .type("number") + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("dndUpdatedUser", + Message.builder() + .summary("Do not Disturb settings changed for a member.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("dnd_updated_user")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("dnd_status", Schema.builder() + .type("object") + .properties(mapOf( + Pair("dnd_enabled", Schema.builder() + .type("boolean") + .build() + ), + Pair("next_dnd_start_ts", Schema.builder() + .type("number") + .build() + ), + Pair("next_dnd_end_ts", Schema.builder() + .type("number") + .build() + ) + )) + .build() + ) + )) + .build() + ) + .build() + ), + Pair("emailDomainChanged", + Message.builder() + .summary("The workspace email domain has changed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("email_domain_changed")) + .build() + ), + Pair("email_domain", Schema.builder() + .type("string") + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("emojiRemoved", + Message.builder() + .summary("A custom emoji has been removed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("emoji_changed")) + .build() + ), + Pair("subtype", Schema.builder() + .type("string") + .enumValue(listOf("remove")) + .build() + ), + Pair("names", Schema.builder() + .type("array") + .items(Schema.builder().type("string").build()) + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("emojiAdded", + Message.builder() + .summary("A custom emoji has been added.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("emoji_changed")) + .build() + ), + Pair("subtype", Schema.builder() + .type("string") + .enumValue(listOf("add")) + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("value", Schema.builder() + .type("string") + .format("uri") + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileChange", + Message.builder() + .summary("A file was changed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_change")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileCommentAdded", + Message.builder() + .summary("A file comment was added.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_comment_added")) + .build() + ), + Pair("comment", Schema()), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileCommentDeleted", + Message.builder() + .summary("A file comment was deleted.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_comment_deleted")) + .build() + ), + Pair("comment", Schema.builder() + .type("string") + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileCommentEdited", + Message.builder() + .summary("A file comment was edited.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_comment_edited")) + .build() + ), + Pair("comment", Schema()), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileCreated", + Message.builder() + .summary("A file was created.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_created")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileDeleted", + Message.builder() + .summary("A file was deleted.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_deleted")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("filePublic", + Message.builder() + .summary("A file was made public.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_public")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileShared", + Message.builder() + .summary("A file was shared.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_shared")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("fileUnshared", + Message.builder() + .summary("A file was unshared.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("file_unshared")) + .build() + ), + Pair("file_id", Schema.builder() + .type("string") + .build() + ), + Pair("file", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder().type("string").build()), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("goodbye", + Message.builder() + .summary("The server intends to close the connection soon.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("goodbye")) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupArchive", + Message.builder() + .summary("A private channel was archived.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_archive")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupClose", + Message.builder() + .summary("You closed a private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_close")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupHistoryChanged", + Message.builder() + .summary("Bulk updates were made to a private channel's history.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_history_changed")) + .build() + ), + Pair("latest", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ), + Pair("event_ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupJoined", + Message.builder() + .summary("You joined a private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_joined")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ), + Pair("creator", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupLeft", + Message.builder() + .summary("You left a private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_left")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupMarked", + Message.builder() + .summary("A private channel read marker was updated.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_marked")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupOpen", + Message.builder() + .summary("You opened a private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_open")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupRename", + Message.builder() + .summary("A private channel was renamed.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_rename")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ), + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("groupUnarchive", + Message.builder() + .summary("A private channel was unarchived.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("group_unarchive")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("imClose", + Message.builder() + .summary("You closed a DM.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("im_close")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("imCreated", + Message.builder() + .summary("A DM was created.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("im_created")) + .build() + ), + Pair("channel", Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("created", Schema.builder() + .type("number") + .build() + ), + Pair("creator", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("imMarked", + Message.builder() + .summary("A direct message read marker was updated.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("im_marked")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("imOpen", + Message.builder() + .summary("You opened a DM.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("im_open")) + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("manualPresenceChange", + Message.builder() + .summary("You manually updated your presence.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("manual_presence_change")) + .build() + ), + Pair("presence", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("memberJoinedChannel", + Message.builder() + .summary("A user joined a public or private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("member_joined_channel")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("channel_type", Schema.builder() + .type("string") + .enumValue(listOf("C", "G")) + .build() + ), + Pair("team", Schema.builder() + .type("string") + .build() + ), + Pair("inviter", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("memberLeftChannel", + Message.builder() + .summary("A user left a public or private channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("member_left_channel")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("channel_type", Schema.builder() + .type("string") + .enumValue(listOf("C", "G")) + .build() + ), + Pair("team", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + Pair("message", + Message.builder() + .summary("A message was sent to a channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("message")) + .build() + ), + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("text", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ), + Pair("attachments", Schema.builder() + .type("array") + .items(Schema.builder().ref("#/components/schemas/attachment").build()) + .build() + ), + Pair("edited", Schema.builder() + .type("object") + .properties(mapOf( + Pair("user", Schema.builder() + .type("string") + .build() + ), + Pair("ts", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ), + )) + .build() + ) + .build() + ), + Pair("outgoingMessage", + Message.builder() + .summary("A message was sent to a channel.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("type", Schema.builder() + .type("string") + .enumValue(listOf("message")) + .build() + ), + Pair("id", Schema.builder() + .type("number") + .build() + ), + Pair("channel", Schema.builder() + .type("string") + .build() + ), + Pair("text", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/slack-rtm-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/slack-rtm-asyncapi.yml new file mode 100644 index 00000000..1973e3b9 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/slack-rtm-asyncapi.yml @@ -0,0 +1,982 @@ +asyncapi: 3.0.0 +id: 'wss://wss-primary.slack.com/websocket' +info: + title: Slack Real Time Messaging API + version: 1.0.0 +servers: + production: + host: slack.com + pathname: /api/rtm.connect + protocol: https + protocolVersion: '1.1' + security: + - $ref: '#/components/securitySchemes/token' +channels: + root: + address: / + messages: + outgoingMessage: + $ref: '#/components/messages/outgoingMessage' + hello: + $ref: '#/components/messages/hello' + connectionError: + $ref: '#/components/messages/connectionError' + accountsChanged: + $ref: '#/components/messages/accountsChanged' + botAdded: + $ref: '#/components/messages/botAdded' + botChanged: + $ref: '#/components/messages/botChanged' + channelArchive: + $ref: '#/components/messages/channelArchive' + channelCreated: + $ref: '#/components/messages/channelCreated' + channelDeleted: + $ref: '#/components/messages/channelDeleted' + channelHistoryChanged: + $ref: '#/components/messages/channelHistoryChanged' + channelJoined: + $ref: '#/components/messages/channelJoined' + channelLeft: + $ref: '#/components/messages/channelLeft' + channelMarked: + $ref: '#/components/messages/channelMarked' + channelRename: + $ref: '#/components/messages/channelRename' + channelUnarchive: + $ref: '#/components/messages/channelUnarchive' + commandsChanged: + $ref: '#/components/messages/commandsChanged' + dndUpdated: + $ref: '#/components/messages/dndUpdated' + dndUpdatedUser: + $ref: '#/components/messages/dndUpdatedUser' + emailDomainChanged: + $ref: '#/components/messages/emailDomainChanged' + emojiRemoved: + $ref: '#/components/messages/emojiRemoved' + emojiAdded: + $ref: '#/components/messages/emojiAdded' + fileChange: + $ref: '#/components/messages/fileChange' + fileCommentAdded: + $ref: '#/components/messages/fileCommentAdded' + fileCommentDeleted: + $ref: '#/components/messages/fileCommentDeleted' + fileCommentEdited: + $ref: '#/components/messages/fileCommentEdited' + fileCreated: + $ref: '#/components/messages/fileCreated' + fileDeleted: + $ref: '#/components/messages/fileDeleted' + filePublic: + $ref: '#/components/messages/filePublic' + fileShared: + $ref: '#/components/messages/fileShared' + fileUnshared: + $ref: '#/components/messages/fileUnshared' + goodbye: + $ref: '#/components/messages/goodbye' + groupArchive: + $ref: '#/components/messages/groupArchive' + groupClose: + $ref: '#/components/messages/groupClose' + groupHistoryChanged: + $ref: '#/components/messages/groupHistoryChanged' + groupJoined: + $ref: '#/components/messages/groupJoined' + groupLeft: + $ref: '#/components/messages/groupLeft' + groupMarked: + $ref: '#/components/messages/groupMarked' + groupOpen: + $ref: '#/components/messages/groupOpen' + groupRename: + $ref: '#/components/messages/groupRename' + groupUnarchive: + $ref: '#/components/messages/groupUnarchive' + imClose: + $ref: '#/components/messages/imClose' + imCreated: + $ref: '#/components/messages/imCreated' + imMarked: + $ref: '#/components/messages/imMarked' + imOpen: + $ref: '#/components/messages/imOpen' + manualPresenceChange: + $ref: '#/components/messages/manualPresenceChange' + memberJoinedChannel: + $ref: '#/components/messages/memberJoinedChannel' + message: + $ref: '#/components/messages/message' +operations: + receiveOutgoingMessage: + action: receive + channel: + $ref: '#/channels/root' + messages: + - $ref: '#/channels/root/messages/outgoingMessage' + sendMessages: + action: send + channel: + $ref: '#/channels/root' + messages: + - $ref: '#/channels/root/messages/hello' + - $ref: '#/channels/root/messages/connectionError' + - $ref: '#/channels/root/messages/accountsChanged' + - $ref: '#/channels/root/messages/botAdded' + - $ref: '#/channels/root/messages/botChanged' + - $ref: '#/channels/root/messages/channelArchive' + - $ref: '#/channels/root/messages/channelCreated' + - $ref: '#/channels/root/messages/channelDeleted' + - $ref: '#/channels/root/messages/channelHistoryChanged' + - $ref: '#/channels/root/messages/channelJoined' + - $ref: '#/channels/root/messages/channelLeft' + - $ref: '#/channels/root/messages/channelMarked' + - $ref: '#/channels/root/messages/channelRename' + - $ref: '#/channels/root/messages/channelUnarchive' + - $ref: '#/channels/root/messages/commandsChanged' + - $ref: '#/channels/root/messages/dndUpdated' + - $ref: '#/channels/root/messages/dndUpdatedUser' + - $ref: '#/channels/root/messages/emailDomainChanged' + - $ref: '#/channels/root/messages/emojiRemoved' + - $ref: '#/channels/root/messages/emojiAdded' + - $ref: '#/channels/root/messages/fileChange' + - $ref: '#/channels/root/messages/fileCommentAdded' + - $ref: '#/channels/root/messages/fileCommentDeleted' + - $ref: '#/channels/root/messages/fileCommentEdited' + - $ref: '#/channels/root/messages/fileCreated' + - $ref: '#/channels/root/messages/fileDeleted' + - $ref: '#/channels/root/messages/filePublic' + - $ref: '#/channels/root/messages/fileShared' + - $ref: '#/channels/root/messages/fileUnshared' + - $ref: '#/channels/root/messages/goodbye' + - $ref: '#/channels/root/messages/groupArchive' + - $ref: '#/channels/root/messages/groupClose' + - $ref: '#/channels/root/messages/groupHistoryChanged' + - $ref: '#/channels/root/messages/groupJoined' + - $ref: '#/channels/root/messages/groupLeft' + - $ref: '#/channels/root/messages/groupMarked' + - $ref: '#/channels/root/messages/groupOpen' + - $ref: '#/channels/root/messages/groupRename' + - $ref: '#/channels/root/messages/groupUnarchive' + - $ref: '#/channels/root/messages/imClose' + - $ref: '#/channels/root/messages/imCreated' + - $ref: '#/channels/root/messages/imMarked' + - $ref: '#/channels/root/messages/imOpen' + - $ref: '#/channels/root/messages/manualPresenceChange' + - $ref: '#/channels/root/messages/memberJoinedChannel' + - $ref: '#/channels/root/messages/message' +components: + securitySchemes: + token: + type: httpApiKey + name: token + in: query + schemas: + attachment: + type: object + properties: + fallback: + type: string + color: + type: string + pretext: + type: string + author_name: + type: string + author_link: + type: string + format: uri + author_icon: + type: string + format: uri + title: + type: string + title_link: + type: string + format: uri + text: + type: string + fields: + type: array + items: + type: object + properties: + title: + type: string + value: + type: string + short: + type: boolean + image_url: + type: string + format: uri + thumb_url: + type: string + format: uri + footer: + type: string + footer_icon: + type: string + format: uri + ts: + type: number + messages: + hello: + summary: First event received upon connection. + payload: + type: object + properties: + type: + type: string + enum: + - hello + connectionError: + summary: Event received when a connection error happens. + payload: + type: object + properties: + type: + type: string + enum: + - error + error: + type: object + properties: + code: + type: number + msg: + type: string + accountsChanged: + summary: The list of accounts a user is signed into has changed. + payload: + type: object + properties: + type: + type: string + enum: + - accounts_changed + botAdded: + summary: A bot user was added. + payload: + type: object + properties: + type: + type: string + enum: + - bot_added + bot: + type: object + properties: + id: + type: string + app_id: + type: string + name: + type: string + icons: + type: object + additionalProperties: + type: string + botChanged: + summary: A bot user was changed. + payload: + type: object + properties: + type: + type: string + enum: + - bot_added + bot: + type: object + properties: + id: + type: string + app_id: + type: string + name: + type: string + icons: + type: object + additionalProperties: + type: string + channelArchive: + summary: A channel was archived. + payload: + type: object + properties: + type: + type: string + enum: + - channel_archive + channel: + type: string + user: + type: string + channelCreated: + summary: A channel was created. + payload: + type: object + properties: + type: + type: string + enum: + - channel_created + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + creator: + type: string + channelDeleted: + summary: A channel was deleted. + payload: + type: object + properties: + type: + type: string + enum: + - channel_deleted + channel: + type: string + channelHistoryChanged: + summary: Bulk updates were made to a channel's history. + payload: + type: object + properties: + type: + type: string + enum: + - channel_history_changed + latest: + type: string + ts: + type: string + event_ts: + type: string + channelJoined: + summary: You joined a channel. + payload: + type: object + properties: + type: + type: string + enum: + - channel_joined + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + creator: + type: string + channelLeft: + summary: You left a channel. + payload: + type: object + properties: + type: + type: string + enum: + - channel_left + channel: + type: string + channelMarked: + summary: Your channel read marker was updated. + payload: + type: object + properties: + type: + type: string + enum: + - channel_marked + channel: + type: string + ts: + type: string + channelRename: + summary: A channel was renamed. + payload: + type: object + properties: + type: + type: string + enum: + - channel_rename + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + channelUnarchive: + summary: A channel was unarchived. + payload: + type: object + properties: + type: + type: string + enum: + - channel_unarchive + channel: + type: string + user: + type: string + commandsChanged: + summary: A slash command has been added or changed. + payload: + type: object + properties: + type: + type: string + enum: + - commands_changed + event_ts: + type: string + dndUpdated: + summary: Do not Disturb settings changed for the current user. + payload: + type: object + properties: + type: + type: string + enum: + - dnd_updated + user: + type: string + dnd_status: + type: object + properties: + dnd_enabled: + type: boolean + next_dnd_start_ts: + type: number + next_dnd_end_ts: + type: number + snooze_enabled: + type: boolean + snooze_endtime: + type: number + dndUpdatedUser: + summary: Do not Disturb settings changed for a member. + payload: + type: object + properties: + type: + type: string + enum: + - dnd_updated_user + user: + type: string + dnd_status: + type: object + properties: + dnd_enabled: + type: boolean + next_dnd_start_ts: + type: number + next_dnd_end_ts: + type: number + emailDomainChanged: + summary: The workspace email domain has changed. + payload: + type: object + properties: + type: + type: string + enum: + - email_domain_changed + email_domain: + type: string + event_ts: + type: string + emojiRemoved: + summary: A custom emoji has been removed. + payload: + type: object + properties: + type: + type: string + enum: + - emoji_changed + subtype: + type: string + enum: + - remove + names: + type: array + items: + type: string + event_ts: + type: string + emojiAdded: + summary: A custom emoji has been added. + payload: + type: object + properties: + type: + type: string + enum: + - emoji_changed + subtype: + type: string + enum: + - add + name: + type: string + value: + type: string + format: uri + event_ts: + type: string + fileChange: + summary: A file was changed. + payload: + type: object + properties: + type: + type: string + enum: + - file_change + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileCommentAdded: + summary: A file comment was added. + payload: + type: object + properties: + type: + type: string + enum: + - file_comment_added + comment: {} + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileCommentDeleted: + summary: A file comment was deleted. + payload: + type: object + properties: + type: + type: string + enum: + - file_comment_deleted + comment: + type: string + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileCommentEdited: + summary: A file comment was edited. + payload: + type: object + properties: + type: + type: string + enum: + - file_comment_edited + comment: {} + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileCreated: + summary: A file was created. + payload: + type: object + properties: + type: + type: string + enum: + - file_created + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileDeleted: + summary: A file was deleted. + payload: + type: object + properties: + type: + type: string + enum: + - file_deleted + file_id: + type: string + event_ts: + type: string + filePublic: + summary: A file was made public. + payload: + type: object + properties: + type: + type: string + enum: + - file_public + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileShared: + summary: A file was shared. + payload: + type: object + properties: + type: + type: string + enum: + - file_shared + file_id: + type: string + file: + type: object + properties: + id: + type: string + fileUnshared: + summary: A file was unshared. + payload: + type: object + properties: + type: + type: string + enum: + - file_unshared + file_id: + type: string + file: + type: object + properties: + id: + type: string + goodbye: + summary: The server intends to close the connection soon. + payload: + type: object + properties: + type: + type: string + enum: + - goodbye + groupArchive: + summary: A private channel was archived. + payload: + type: object + properties: + type: + type: string + enum: + - group_archive + channel: + type: string + groupClose: + summary: You closed a private channel. + payload: + type: object + properties: + type: + type: string + enum: + - group_close + user: + type: string + channel: + type: string + groupHistoryChanged: + summary: Bulk updates were made to a private channel's history. + payload: + type: object + properties: + type: + type: string + enum: + - group_history_changed + latest: + type: string + ts: + type: string + event_ts: + type: string + groupJoined: + summary: You joined a private channel. + payload: + type: object + properties: + type: + type: string + enum: + - group_joined + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + creator: + type: string + groupLeft: + summary: You left a private channel. + payload: + type: object + properties: + type: + type: string + enum: + - group_left + channel: + type: string + groupMarked: + summary: A private channel read marker was updated. + payload: + type: object + properties: + type: + type: string + enum: + - group_marked + channel: + type: string + ts: + type: string + groupOpen: + summary: You opened a private channel. + payload: + type: object + properties: + type: + type: string + enum: + - group_open + user: + type: string + channel: + type: string + groupRename: + summary: A private channel was renamed. + payload: + type: object + properties: + type: + type: string + enum: + - group_rename + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + groupUnarchive: + summary: A private channel was unarchived. + payload: + type: object + properties: + type: + type: string + enum: + - group_unarchive + channel: + type: string + user: + type: string + imClose: + summary: You closed a DM. + payload: + type: object + properties: + type: + type: string + enum: + - im_close + channel: + type: string + user: + type: string + imCreated: + summary: A DM was created. + payload: + type: object + properties: + type: + type: string + enum: + - im_created + channel: + type: object + properties: + id: + type: string + name: + type: string + created: + type: number + creator: + type: string + user: + type: string + imMarked: + summary: A direct message read marker was updated. + payload: + type: object + properties: + type: + type: string + enum: + - im_marked + channel: + type: string + ts: + type: string + imOpen: + summary: You opened a DM. + payload: + type: object + properties: + type: + type: string + enum: + - im_open + channel: + type: string + user: + type: string + manualPresenceChange: + summary: You manually updated your presence. + payload: + type: object + properties: + type: + type: string + enum: + - manual_presence_change + presence: + type: string + memberJoinedChannel: + summary: A user joined a public or private channel. + payload: + type: object + properties: + type: + type: string + enum: + - member_joined_channel + user: + type: string + channel: + type: string + channel_type: + type: string + enum: + - C + - G + team: + type: string + inviter: + type: string + memberLeftChannel: + summary: A user left a public or private channel. + payload: + type: object + properties: + type: + type: string + enum: + - member_left_channel + user: + type: string + channel: + type: string + channel_type: + type: string + enum: + - C + - G + team: + type: string + message: + summary: A message was sent to a channel. + payload: + type: object + properties: + type: + type: string + enum: + - message + user: + type: string + channel: + type: string + text: + type: string + ts: + type: string + attachments: + type: array + items: + $ref: '#/components/schemas/attachment' + edited: + type: object + properties: + user: + type: string + ts: + type: string + outgoingMessage: + summary: A message was sent to a channel. + payload: + type: object + properties: + id: + type: number + type: + type: string + enum: + - message + channel: + type: string + text: + type: string \ No newline at end of file From 67b9245228fd3b4f34634f30f84368d4b193a038 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 10 Feb 2024 18:30:58 +0400 Subject: [PATCH 192/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Correlation ID Example --- README.md | 2 +- .../examples/v3/_0_0/CorrelationIdAsyncAPI.kt | 304 ++++++++++++++++++ .../v3.0.0/correlation-id-asyncapi.yml | 180 +++++++++++ 3 files changed, 485 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/CorrelationIdAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/correlation-id-asyncapi.yml diff --git a/README.md b/README.md index c6e77335..767544f4 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Hints: - [ ] [adeo-kafka-request-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/adeo-kafka-request-reply-asyncapi.yml) - [x] [anyof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/anyof-asyncapi.yml) - [x] [application-headers-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/application-headers-asyncapi.yml) -- [ ] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) +- [x] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) - [ ] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) - [ ] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) - [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/CorrelationIdAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/CorrelationIdAsyncAPI.kt new file mode 100644 index 00000000..50249128 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/CorrelationIdAsyncAPI.kt @@ -0,0 +1,304 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.security_scheme.ApiKeySecurityScheme +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.info.License +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3._0_0.model.server.ServerVariable +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.OpenIdConnectSecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v3.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v3.security_scheme.oauth2.flow.AuthorizationCodeOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.ImplicitOAuthFlow +import com.asyncapi.v3.security_scheme.oauth2.flow.PasswordOAuthFlow +import java.math.BigDecimal + +class CorrelationIdAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/correlation-id-asyncapi.yml" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Correlation ID Example") + .version("1.0.0") + .description("A cut of the Streetlights API to test Correlation ID") + .license(License("Apache 2.0", "https://www.apache.org/licenses/LICENSE-2.0")) + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("test.mosquitto.org:{port}") + .protocol("mqtt") + .description("Test broker") + .variables(mapOf( + Pair("port", + ServerVariable( + listOf("1883", "8883"), + "1883", + "Secure connection (TLS) is available through port 8883.", + null + ) + ) + )) + .security(listOf( + Reference("#/components/securitySchemes/apiKey"), + OAuth2SecurityScheme( + "Flows to support OAuth 2.0", + OAuthFlows( + ImplicitOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth" + ), + PasswordOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token" + ), + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token" + ), + AuthorizationCodeOAuthFlow( + "https://authserver.example/refresh", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth", + "https://authserver.example/token" + ) + ), + listOf( + "streetlights:on", + "streetlights:off", + "streetlights:dim", + ), + ), + Reference("#/components/securitySchemes/openIdConnectWellKnown"), + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("lightingMeasured", + Channel.builder() + .address("smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured") + .messages(mapOf( + Pair("lightMeasured", Reference("#/components/messages/lightMeasured")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ), + Pair("lightsDim", + Channel.builder() + .address("smartylighting/streetlights/1/0/action/{streetlightId}/dim") + .messages(mapOf( + Pair("dimLight", Reference("#/components/messages/dimLight")) + )) + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receiveLightMeasurement", + Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/lightingMeasured")) + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .messages(listOf( + Reference("#/channels/lightingMeasured/messages/lightMeasured") + )) + .build() + ), + Pair("dimLight", + Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/lightsDim")) + .messages(listOf( + Reference("#/channels/lightsDim/messages/dimLight") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", + Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .correlationId(CorrelationId(null, "\$message.header#/MQMD/CorrelId")) + .contentType("application/json") + .payload(Reference("#/components/schemas/lightMeasuredPayload")) + .build() + ), + Pair("dimLight", + Message.builder() + .name("dimLight") + .title("Dim light") + .summary("Command a particular streetlight to dim the lights.") + .correlationId(Reference("#/components/correlationIds/sentAtCorrelator")) + .payload(Reference("#/components/schemas/dimLightPayload")) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", + Schema.builder() + .ref("#/components/schemas/sentAt") + .build() + ) + )) + .build() + ), + Pair("dimLightPayload", + Schema.builder() + .type("object") + .properties(mapOf( + Pair("percentage", + Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .description("Percentage to which the light should be dimmed to.") + .build() + ), + Pair("sentAt", + Schema.builder() + .ref("#/components/schemas/sentAt") + .build() + ) + )) + .build() + ), + Pair("sentAt", + Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder().description("The ID of the streetlight.").build()) + )) + .correlationIds(mapOf( + Pair("sentAtCorrelator", + CorrelationId( + "Data from message payload used as correlation ID", + "\$message.payload#/sentAt" + ) + ) + )) + .securitySchemes(mapOf( + Pair("apiKey", ApiKeySecurityScheme( + "Provide your API key as the user and leave the password empty.", + ApiKeySecurityScheme.ApiKeyLocation.USER + )), + Pair("supportedOauthFlows", OAuth2SecurityScheme( + "Flows to support OAuth 2.0", + OAuthFlows( + ImplicitOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth" + ), + PasswordOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token" + ), + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token" + ), + AuthorizationCodeOAuthFlow( + "https://authserver.example/refresh", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth", + "https://authserver.example/token" + ) + ), + null + )), + Pair("openIdConnectWellKnown", OpenIdConnectSecurityScheme( + null, + "https://authserver.example/.well-known", + null + )), + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/correlation-id-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/correlation-id-asyncapi.yml new file mode 100644 index 00000000..e25a6a70 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/correlation-id-asyncapi.yml @@ -0,0 +1,180 @@ +asyncapi: 3.0.0 +info: + title: Correlation ID Example + version: 1.0.0 + description: A cut of the Streetlights API to test Correlation ID + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +defaultContentType: application/json +servers: + production: + host: 'test.mosquitto.org:{port}' + protocol: mqtt + description: Test broker + variables: + port: + description: Secure connection (TLS) is available through port 8883. + default: '1883' + enum: + - '1883' + - '8883' + security: + - $ref: '#/components/securitySchemes/apiKey' + - type: oauth2 + description: Flows to support OAuth 2.0 + flows: + implicit: + authorizationUrl: 'https://authserver.example/auth' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + password: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + clientCredentials: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + authorizationCode: + authorizationUrl: 'https://authserver.example/auth' + tokenUrl: 'https://authserver.example/token' + refreshUrl: 'https://authserver.example/refresh' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + scopes: + - 'streetlights:on' + - 'streetlights:off' + - 'streetlights:dim' + - $ref: '#/components/securitySchemes/openIdConnectWellKnown' +channels: + lightingMeasured: + address: 'smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured' + messages: + lightMeasured: + $ref: '#/components/messages/lightMeasured' + 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: + receiveLightMeasurement: + action: receive + channel: + $ref: '#/channels/lightingMeasured' + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + messages: + - $ref: '#/channels/lightingMeasured/messages/lightMeasured' + dimLight: + action: send + channel: + $ref: '#/channels/lightsDim' + messages: + - $ref: '#/channels/lightsDim/messages/dimLight' +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: >- + Inform about environmental lighting conditions of a particular + streetlight. + correlationId: + location: $message.header#/MQMD/CorrelId + contentType: application/json + payload: + $ref: '#/components/schemas/lightMeasuredPayload' + dimLight: + name: dimLight + title: Dim light + summary: Command a particular streetlight to dim the lights. + correlationId: + $ref: '#/components/correlationIds/sentAtCorrelator' + payload: + $ref: '#/components/schemas/dimLightPayload' + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: '#/components/schemas/sentAt' + dimLightPayload: + type: object + properties: + percentage: + type: integer + description: Percentage to which the light should be dimmed to. + minimum: 0 + maximum: 100 + sentAt: + $ref: '#/components/schemas/sentAt' + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + parameters: + streetlightId: + description: The ID of the streetlight. + correlationIds: + sentAtCorrelator: + description: Data from message payload used as correlation ID + location: $message.payload#/sentAt + securitySchemes: + apiKey: + type: apiKey + in: user + description: Provide your API key as the user and leave the password empty. + supportedOauthFlows: + type: oauth2 + description: Flows to support OAuth 2.0 + flows: + implicit: + authorizationUrl: 'https://authserver.example/auth' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + password: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + clientCredentials: + tokenUrl: 'https://authserver.example/token' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + authorizationCode: + authorizationUrl: 'https://authserver.example/auth' + tokenUrl: 'https://authserver.example/token' + refreshUrl: 'https://authserver.example/refresh' + availableScopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + openIdConnectWellKnown: + type: openIdConnect + openIdConnectUrl: 'https://authserver.example/.well-known' \ No newline at end of file From 4570c9523071192857345671e4c53bfd1a35883f Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 10 Feb 2024 20:54:00 +0400 Subject: [PATCH 193/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Gitter Streaming API Example --- .../v3/_0_0/GitterStreamingAsyncAPI.kt | 285 ++++++++++++++++++ .../v3.0.0/gitter-streaming-asyncapi.yml | 178 +++++++++++ 2 files changed, 463 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/GitterStreamingAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/gitter-streaming-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/GitterStreamingAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/GitterStreamingAsyncAPI.kt new file mode 100644 index 00000000..f460e9dc --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/GitterStreamingAsyncAPI.kt @@ -0,0 +1,285 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.binding.message.http.HTTPMessageBinding +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.operation.http.HTTPOperationBinding +import com.asyncapi.v3.binding.operation.http.HTTPOperationMethod +import com.asyncapi.v3.schema.MultiFormatSchema +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.http.HttpSecurityScheme + +class GitterStreamingAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/gitter-streaming-asyncapi.yml" + + override fun expectedId(): String = "tag:stream.gitter.im,2022:api" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Gitter Streaming API") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", + Server.builder() + .host("stream.gitter.im") + .pathname("/v1") + .protocol("https") + .protocolVersion("1.1") + .security(listOf( + Reference("#/components/securitySchemes/httpBearerToken") + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("rooms", + Channel.builder() + .address("/rooms/{roomId}/{resource}") + .messages(mapOf( + Pair("chatMessage", Reference("#/components/messages/chatMessage")), + Pair("heartbeat", Reference("#/components/messages/heartbeat")) + )) + .parameters(mapOf( + Pair("roomId", Parameter.builder() + .description("Id of the Gitter room.") + .examples(listOf("53307860c3599d1de448e19d")) + .build() + ), + Pair("resource", Parameter.builder() + .description("The resource to consume.") + .enumValues(listOf("chatMessages", "events")) + .build()) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("sendRoomInfo", Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/rooms")) + .bindings(mapOf( + Pair("http", HTTPOperationBinding.builder() + .method(HTTPOperationMethod.POST) + .build() + ) + )) + .messages(listOf( + Reference("#/channels/rooms/messages/chatMessage"), + Reference("#/channels/rooms/messages/heartbeat") + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .securitySchemes(mapOf( + Pair("httpBearerToken", HttpSecurityScheme( + null, + "bearer", + null, + )) + )) + .messages(mapOf( + Pair("chatMessage", Message.builder() + .summary("A message represents an individual chat message sent to a room. They are a sub-resource of a room.") + .payload(MultiFormatSchema( + "application/schema+yaml;version=draft-07", + mapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair("id", mapOf( + Pair("type", "string"), + Pair("description", "ID of the message."), + )), + Pair("text", mapOf( + Pair("type", "string"), + Pair("description", "Original message in plain-text/markdown."), + )), + Pair("html", mapOf( + Pair("type", "string"), + Pair("description", "HTML formatted message."), + )), + Pair("sent", mapOf( + Pair("type", "string"), + Pair("format", "date-time"), + Pair("description", "ISO formatted date of the message."), + )), + Pair("fromUser", mapOf( + Pair("type", "object"), + Pair("description", "User that sent the message."), + Pair("properties", mapOf( + Pair("id", mapOf( + Pair("type", "string"), + Pair("description", "Gitter User ID."), + )), + Pair("username", mapOf( + Pair("type", "string"), + Pair("description", "Gitter/GitHub username."), + )), + Pair("displayName", mapOf( + Pair("type", "string"), + Pair("description", "Gitter/GitHub user real name."), + )), + Pair("url", mapOf( + Pair("type", "string"), + Pair("description", "Path to the user on Gitter."), + )), + Pair("avatarUrl", mapOf( + Pair("type", "string"), + Pair("format", "uri"), + Pair("description", "User avatar URI."), + )), + Pair("avatarUrlSmall", mapOf( + Pair("type", "string"), + Pair("format", "uri"), + Pair("description", "User avatar URI (small)."), + )), + Pair("avatarUrlMedium", mapOf( + Pair("type", "string"), + Pair("format", "uri"), + Pair("description", "User avatar URI (medium)."), + )), + Pair("v", mapOf( + Pair("type", "number"), + Pair("description", "Version."), + )), + Pair("gv", mapOf( + Pair("type", "string"), + Pair("description", "Stands for \"Gravatar version\" and is used for cache busting."), + )) + )), + )), + Pair("unread", mapOf( + Pair("type", "boolean"), + Pair("description", "Boolean that indicates if the current user has read the message."), + )), + Pair("readBy", mapOf( + Pair("type", "number"), + Pair("description", "Number of users that have read the message."), + )), + Pair("urls", mapOf( + Pair("type", "array"), + Pair("description", "List of URLs present in the message."), + Pair("items", mapOf( + Pair("type", "string"), + Pair("format", "uri") + )), + )), + Pair("mentions", mapOf( + Pair("type", "array"), + Pair("description", "List of @Mentions in the message."), + Pair("items", mapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair("screenName", mapOf(Pair("type", "string"))), + Pair("userId", mapOf(Pair("type", "string"))), + Pair("userIds", mapOf( + Pair("type", "array"), + Pair("items", mapOf(Pair("type", "string"))), + )), + )) + )), + )), + Pair("issues", mapOf( + Pair("type", "array"), + Pair("description", "List of #Issues referenced in the message."), + Pair("items", mapOf( + Pair("type", "object"), + Pair("properties", mapOf( + Pair("number", mapOf(Pair("type", "string"))) + )) + )), + )), + Pair("meta", mapOf( + Pair("type", "array"), + Pair("description", "Metadata. This is currently not used for anything."), + Pair("items", emptyMap()), + )), + Pair("v", mapOf( + Pair("type", "number"), + Pair("description", "Version.") + )), + Pair("gv", mapOf( + Pair("type", "string"), + Pair("description", "Stands for \"Gravatar version\" and is used for cache busting.") + )) + )), + ) + )) + .bindings(mapOf( + Pair("http", HTTPMessageBinding.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("Transfer-Encoding", Schema.builder() + .type("string") + .constValue("chunked") + .build() + ), + Pair("Trailer", Schema.builder() + .type("string") + .constValue("\\r\\n") + .build() + ) + )) + .build()) + .build() + ) + )) + .build()), + Pair("heartbeat", Message.builder() + .summary("Its purpose is to keep the connection alive.") + .payload(MultiFormatSchema( + "application/schema+yaml;version=draft-07", + mapOf( + Pair("type", "string"), + Pair("enum", listOf("\r\n")), + ) + )) + .bindings(mapOf( + Pair("http", HTTPMessageBinding.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("Transfer-Encoding", Schema.builder() + .type("string") + .constValue("chunked") + .build() + ), + Pair("Trailer", Schema.builder() + .type("string") + .constValue("\\r\\n") + .build() + ) + )) + .build()) + .build() + ) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/gitter-streaming-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/gitter-streaming-asyncapi.yml new file mode 100644 index 00000000..fda2c45e --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/gitter-streaming-asyncapi.yml @@ -0,0 +1,178 @@ +asyncapi: 3.0.0 +id: 'tag:stream.gitter.im,2022:api' +info: + title: Gitter Streaming API + version: 1.0.0 +servers: + production: + host: stream.gitter.im + pathname: /v1 + protocol: https + protocolVersion: '1.1' + security: + - $ref: '#/components/securitySchemes/httpBearerToken' +channels: + rooms: + address: '/rooms/{roomId}/{resource}' + messages: + chatMessage: + $ref: '#/components/messages/chatMessage' + heartbeat: + $ref: '#/components/messages/heartbeat' + parameters: + roomId: + description: Id of the Gitter room. + examples: + - 53307860c3599d1de448e19d + resource: + enum: + - chatMessages + - events + description: The resource to consume. +operations: + sendRoomInfo: + action: send + channel: + $ref: '#/channels/rooms' + bindings: + http: + method: POST + messages: + - $ref: '#/channels/rooms/messages/chatMessage' + - $ref: '#/channels/rooms/messages/heartbeat' +components: + securitySchemes: + httpBearerToken: + type: http + scheme: bearer + messages: + chatMessage: + summary: >- + A message represents an individual chat message sent to a room. They are + a sub-resource of a room. + payload: + schemaFormat: application/schema+yaml;version=draft-07 + schema: + type: object + properties: + id: + type: string + description: ID of the message. + text: + type: string + description: Original message in plain-text/markdown. + html: + type: string + description: HTML formatted message. + sent: + type: string + format: date-time + description: ISO formatted date of the message. + fromUser: + type: object + description: User that sent the message. + properties: + id: + type: string + description: Gitter User ID. + username: + type: string + description: Gitter/GitHub username. + displayName: + type: string + description: Gitter/GitHub user real name. + url: + type: string + description: Path to the user on Gitter. + avatarUrl: + type: string + format: uri + description: User avatar URI. + avatarUrlSmall: + type: string + format: uri + description: User avatar URI (small). + avatarUrlMedium: + type: string + format: uri + description: User avatar URI (medium). + v: + type: number + description: Version. + gv: + type: string + description: Stands for "Gravatar version" and is used for cache busting. + unread: + type: boolean + description: Boolean that indicates if the current user has read the message. + readBy: + type: number + description: Number of users that have read the message. + urls: + type: array + description: List of URLs present in the message. + items: + type: string + format: uri + mentions: + type: array + description: List of @Mentions in the message. + items: + type: object + properties: + screenName: + type: string + userId: + type: string + userIds: + type: array + items: + type: string + issues: + type: array + description: 'List of #Issues referenced in the message.' + items: + type: object + properties: + number: + type: string + meta: + type: array + description: Metadata. This is currently not used for anything. + items: {} + v: + type: number + description: Version. + gv: + type: string + description: Stands for "Gravatar version" and is used for cache busting. + bindings: + http: + headers: + type: object + properties: + Transfer-Encoding: + type: string + const: chunked + Trailer: + type: string + const: \r\n + heartbeat: + summary: Its purpose is to keep the connection alive. + payload: + schemaFormat: application/schema+yaml;version=draft-07 + schema: + type: string + enum: + - "\r\n" + bindings: + http: + headers: + type: object + properties: + Transfer-Encoding: + type: string + const: chunked + Trailer: + type: string + const: \r\n \ No newline at end of file From 7b294948e8049da05eba9f1a02dd4305fa46cc20 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sat, 10 Feb 2024 20:54:04 +0400 Subject: [PATCH 194/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Gitter Streaming API Example --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 767544f4..dad3d7e0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Hints: - [x] [anyof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/anyof-asyncapi.yml) - [x] [application-headers-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/application-headers-asyncapi.yml) - [x] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) -- [ ] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) +- [x] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) - [ ] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) - [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) - [x] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) From e8b6f149adc09b4de72aefe2bfed20e2aa84ef26 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 11 Feb 2024 00:42:59 +0400 Subject: [PATCH 195/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Kraken Websockets API Example --- ...equestReplyMessageFilterInReplyAsyncAPI.kt | 529 ++++++++++++++++++ ...reply-message-filter-in-reply-asyncapi.yml | 388 +++++++++++++ 2 files changed, 917 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMessageFilterInReplyAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMessageFilterInReplyAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMessageFilterInReplyAsyncAPI.kt new file mode 100644 index 00000000..8af232da --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMessageFilterInReplyAsyncAPI.kt @@ -0,0 +1,529 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageExample +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply +import com.asyncapi.v3.schema.Schema + +class KrakenWebsocketRequestReplyMessageFilterInReplyAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Kraken Websockets API") + .version("1.8.0") + .description( + "WebSockets API offers real-time market data updates. WebSockets is a bidirectional protocol offering fastest real-time data, helping you build real-time applications. The public message types presented below do not require authentication. Private-data messages can be subscribed on a separate authenticated endpoint. \n" + + "\n" + + "### General Considerations\n" + + "\n" + + "- TLS with SNI (Server Name Indication) is required in order to establish a Kraken WebSockets API connection. See Cloudflare's [What is SNI?](https://www.cloudflare.com/learning/ssl/what-is-sni/) guide for more details.\n" + + "- All messages sent and received via WebSockets are encoded in JSON format\n" + + "- All decimal fields (including timestamps) are quoted to preserve precision.\n" + + "- Timestamps should not be considered unique and not be considered as aliases for transaction IDs. Also, the granularity of timestamps is not representative of transaction rates.\n" + + "- At least one private message should be subscribed to keep the authenticated client connection open.\n" + + "- Please use REST API endpoint [AssetPairs](https://www.kraken.com/features/api#get-tradable-pairs) to fetch the list of pairs which can be subscribed via WebSockets API. For example, field 'wsname' gives the supported pairs name which can be used to subscribe.\n" + + "- Cloudflare imposes a connection/re-connection rate limit (per IP address) of approximately 150 attempts per rolling 10 minutes. If this is exceeded, the IP is banned for 10 minutes.\n" + + "- Recommended reconnection behaviour is to (1) attempt reconnection instantly up to a handful of times if the websocket is dropped randomly during normal operation but (2) after maintenance or extended downtime, attempt to reconnect no more quickly than once every 5 seconds. There is no advantage to reconnecting more rapidly after maintenance during cancel_only mode.\n" + ) + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("currencyExchange", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("ping", Reference("#/components/messages/ping")), + Pair("pong", Reference("#/components/messages/pong")), + Pair("heartbeat", Reference("#/components/messages/heartbeat")), + Pair("systemStatus", Reference("#/components/messages/systemStatus")), + Pair("subscriptionStatus", Reference("#/components/messages/subscriptionStatus")), + Pair("subscribe", Reference("#/components/messages/subscribe")), + Pair("unsubscribe", Reference("#/components/messages/unsubscribe")), + Pair("dummyCurrencyInfo", Reference("#/components/messages/dummyCurrencyInfo")), + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receivePing", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/currencyExchange")) + .reply(OperationReply( + null, + Reference("#/channels/currencyExchange"), + listOf(Reference("#/channels/currencyExchange/messages/pong")) + )) + .messages(listOf(Reference("#/channels/currencyExchange/messages/ping"))) + .build() + ), + Pair("sendHeartbeat", Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/currencyExchange")) + .messages(listOf(Reference("#/channels/currencyExchange/messages/heartbeat"))) + .build() + ), + Pair("systemStatus", Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/currencyExchange")) + .messages(listOf(Reference("#/channels/currencyExchange/messages/systemStatus"))) + .build() + ), + Pair("receiveSubscribeRequest", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/currencyExchange")) + .reply(OperationReply( + null, + Reference("#/channels/currencyExchange"), + listOf( + Reference("#/channels/currencyExchange/messages/subscriptionStatus"), + Reference("#/channels/currencyExchange/messages/dummyCurrencyInfo") + ) + )) + .messages(listOf(Reference("#/channels/currencyExchange/messages/subscribe"))) + .build() + ), + Pair("receiveUnsubscribeRequest", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/currencyExchange")) + .reply(OperationReply( + null, + Reference("#/channels/currencyExchange"), + listOf( + Reference("#/channels/currencyExchange/messages/subscriptionStatus") + ) + )) + .messages(listOf(Reference("#/channels/currencyExchange/messages/unsubscribe"))) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("dummyCurrencyInfo", Message.builder() + .summary("Dummy message with no real life details") + .description("It is here in this example to showcase that there is an additional message that normally is of a complex structure. It represents actually currency exchange value to show a reply to operation receiveSubscribeRequest with more than one possible message.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("currencyInfo") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("data", Schema.builder() + .type("object") + .build() + ), + )) + .required(listOf("event")) + .build() + ) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("ping", Message.builder() + .summary("Ping server to determine whether connection is alive") + .description("Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated") + .payload(Reference("#/components/schemas/ping")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("pong", Message.builder() + .summary("Pong is a response to ping message") + .description("Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping") + .payload(Reference("#/components/schemas/pong")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("subscribe", Message.builder() + .description("Subscribe to a topic on a single or multiple currency pairs.") + .payload(Reference("#/components/schemas/subscribe")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("unsubscribe", Message.builder() + .description("Unsubscribe, can specify a channelID or multiple currency pairs.") + .payload(Reference("#/components/schemas/unsubscribe")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("subscriptionStatus", Message.builder() + .description("Subscription status response to subscribe, unsubscribe or exchange initiated unsubscribe.") + .payload(Reference("#/components/schemas/subscriptionStatus")) + .examples(listOf( + MessageExample.builder() + .payload(mapOf( + Pair("channelID", 10001), + Pair("channelName", "ohlc-5"), + Pair("event", "subscriptionStatus"), + Pair("pair", "XBT/EUR"), + Pair("reqid", 42), + Pair("status", "unsubscribed"), + Pair("subscription", mapOf( + Pair("interval", 5), + Pair("name", "ohlc") + )), + )) + .build(), + MessageExample.builder() + .payload(mapOf( + Pair("errorMessage", "Subscription depth not supported"), + Pair("event", "subscriptionStatus"), + Pair("pair", "XBT/USD"), + Pair("status", "error"), + Pair("subscription", mapOf( + Pair("depth", 42), + Pair("name", "book") + )), + )) + .build() + )) + .build() + ), + Pair("systemStatus", Message.builder() + .description("Status sent on connection or system status changes.") + .payload(Reference("#/components/schemas/systemStatus")) + .build() + ), + Pair("heartbeat", Message.builder() + .description("Server heartbeat sent if no subscription traffic within 1 second (approximately)") + .payload(Reference("#/components/schemas/heartbeat")) + .build() + ), + )) + .schemas(mapOf( + Pair("ping", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("ping") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("heartbeat", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("heartbeat") + .build() + ) + )) + .build() + ), + Pair("pong", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("pong") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ) + )) + .build() + ), + Pair("systemStatus", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("systemStatus") + .build() + ), + Pair("connectionID", Schema.builder() + .type("integer") + .description("The ID of the connection") + .build() + ), + Pair("status", Schema.builder() + .ref("#/components/schemas/status") + .build() + ), + Pair("version", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ), + Pair("status", Schema.builder() + .type("string") + .enumValue(listOf( + "online", "maintenance", "cancel_only", "limit_only", "post_only" + )) + .build() + ), + Pair("subscribe", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("subscribe") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .properties(mapOf( + Pair("depth", Schema.builder() + .ref("#/components/schemas/depth") + .build() + ), + Pair("interval", Schema.builder() + .ref("#/components/schemas/interval") + .build() + ), + Pair("name", Schema.builder() + .ref("#/components/schemas/name") + .build() + ), + Pair("ratecounter", Schema.builder() + .ref("#/components/schemas/ratecounter") + .build() + ), + Pair("snapshot", Schema.builder() + .ref("#/components/schemas/snapshot") + .build() + ), + Pair("token", Schema.builder() + .ref("#/components/schemas/token") + .build() + ) + )) + .required(listOf("name")) + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("unsubscribe", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("unsubscribe") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .properties(mapOf( + Pair("depth", Schema.builder() + .ref("#/components/schemas/depth") + .build() + ), + Pair("interval", Schema.builder() + .ref("#/components/schemas/interval") + .build() + ), + Pair("name", Schema.builder() + .ref("#/components/schemas/name") + .build() + ), + Pair("token", Schema.builder() + .ref("#/components/schemas/token") + .build() + ) + )) + .required(listOf("name")) + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("subscriptionStatus", Schema.builder() + .type("object") + .oneOf(listOf( + Schema.builder().ref("#/components/schemas/subscriptionStatusError").build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusSuccess").build() + )) + .build() + ), + Pair("subscriptionStatusError", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("errorMessage", Schema.builder().type("string").build()) + )) + .required(listOf("errorMessage")) + .build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusCommon").build() + )) + .build() + ), + Pair("subscriptionStatusSuccess", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("channelID", Schema.builder() + .type("integer") + .description("ChannelID on successful subscription, applicable to public messages only.") + .build() + ), + Pair("channelName", Schema.builder() + .type("string") + .description("Channel Name on successful subscription. For payloads 'ohlc' and 'book', respective interval or depth will be added as suffix.") + .build() + ) + )) + .required(listOf("channelID", "channelName")) + .build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusCommon").build() + )) + .build() + ), + Pair("subscriptionStatusCommon", Schema.builder() + .type("object") + .required(listOf("event")) + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("subscriptionStatus") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("status", Schema.builder() + .ref("#/components/schemas/status") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .required(listOf("name")) + .properties(mapOf( + Pair("depth", Schema.builder().ref("#/components/schemas/depth").build()), + Pair("interval", Schema.builder().ref("#/components/schemas/interval").build()), + Pair("maxratecount", Schema.builder().ref("#/components/schemas/maxratecount").build()), + Pair("name", Schema.builder().ref("#/components/schemas/name").build()), + Pair("token", Schema.builder().ref("#/components/schemas/token").build()), + )) + .build() + ) + )) + .build() + ), + Pair("interval", Schema.builder() + .type("integer") + .description("Time interval associated with ohlc subscription in minutes.") + .defaultValue(1) + .enumValue(listOf( + 1, 5, 15, 30, 60, 240, 1440, 10080, 21600 + )) + .build() + ), + Pair("name", Schema.builder() + .type("string") + .description("The name of the channel you subscribe too.") + .enumValue(listOf( + "book", "ohlc", "openOrders", "ownTrades", "spread", "ticker", "trade" + )) + .build() + ), + Pair("token", Schema.builder() + .type("string") + .description("base64-encoded authentication token for private-data endpoints.") + .build() + ), + Pair("depth", Schema.builder() + .type("integer") + .defaultValue(10) + .description("Depth associated with book subscription in number of levels each side.") + .enumValue(listOf( + 10, 25, 100, 500, 1000 + )) + .build() + ), + Pair("maxratecount", Schema.builder() + .type("integer") + .description("Max rate-limit budget. Compare to the ratecounter field in the openOrders updates to check whether you are approaching the rate limit.") + .build() + ), + Pair("ratecounter", Schema.builder() + .type("boolean") + .defaultValue(false) + .description("Whether to send rate-limit counter in updates (supported only for openOrders subscriptions)") + .build() + ), + Pair("snapshot", Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Whether to send historical feed data snapshot upon subscription (supported only for ownTrades subscriptions)") + .build() + ), + Pair("reqid", Schema.builder() + .type("integer") + .description("client originated ID reflected in response message.") + .build() + ), + Pair("pair", Schema.builder() + .type("array") + .description("Array of currency pairs.") + .items(Schema.builder() + .type("string") + .description("Format of each pair is \"A/B\", where A and B are ISO 4217-A3 for standardized assets and popular unique symbol if not standardized.") + .pattern("[A-Z\\s]+\\/[A-Z\\s]+") + .build() + ) + .build() + ), + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml new file mode 100644 index 00000000..1b51ad6e --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml @@ -0,0 +1,388 @@ +asyncapi: 3.0.0 + +info: + title: Kraken Websockets API + version: '1.8.0' + description: | + WebSockets API offers real-time market data updates. WebSockets is a bidirectional protocol offering fastest real-time data, helping you build real-time applications. The public message types presented below do not require authentication. Private-data messages can be subscribed on a separate authenticated endpoint. + + ### General Considerations + + - TLS with SNI (Server Name Indication) is required in order to establish a Kraken WebSockets API connection. See Cloudflare's [What is SNI?](https://www.cloudflare.com/learning/ssl/what-is-sni/) guide for more details. + - All messages sent and received via WebSockets are encoded in JSON format + - All decimal fields (including timestamps) are quoted to preserve precision. + - Timestamps should not be considered unique and not be considered as aliases for transaction IDs. Also, the granularity of timestamps is not representative of transaction rates. + - At least one private message should be subscribed to keep the authenticated client connection open. + - Please use REST API endpoint [AssetPairs](https://www.kraken.com/features/api#get-tradable-pairs) to fetch the list of pairs which can be subscribed via WebSockets API. For example, field 'wsname' gives the supported pairs name which can be used to subscribe. + - Cloudflare imposes a connection/re-connection rate limit (per IP address) of approximately 150 attempts per rolling 10 minutes. If this is exceeded, the IP is banned for 10 minutes. + - Recommended reconnection behaviour is to (1) attempt reconnection instantly up to a handful of times if the websocket is dropped randomly during normal operation but (2) after maintenance or extended downtime, attempt to reconnect no more quickly than once every 5 seconds. There is no advantage to reconnecting more rapidly after maintenance during cancel_only mode. + + +channels: + currencyExchange: + address: / + messages: + ping: + $ref: '#/components/messages/ping' + pong: + $ref: '#/components/messages/pong' + heartbeat: + $ref: '#/components/messages/heartbeat' + systemStatus: + $ref: '#/components/messages/systemStatus' + subscriptionStatus: + $ref: '#/components/messages/subscriptionStatus' + subscribe: + $ref: '#/components/messages/subscribe' + unsubscribe: + $ref: '#/components/messages/unsubscribe' + dummyCurrencyInfo: + $ref: '#/components/messages/dummyCurrencyInfo' + + +operations: + receivePing: + action: receive + channel: + $ref: '#/channels/currencyExchange' + reply: + channel: + $ref: '#/channels/currencyExchange' + messages: + - $ref: '#/channels/currencyExchange/messages/pong' + messages: + - $ref: '#/channels/currencyExchange/messages/ping' + sendHeartbeat: + action: send + channel: + $ref: '#/channels/currencyExchange' + messages: + - $ref: '#/channels/currencyExchange/messages/heartbeat' + systemStatus: + action: send + channel: + $ref: '#/channels/currencyExchange' + messages: + - $ref: '#/channels/currencyExchange/messages/systemStatus' + receiveSubscribeRequest: + action: receive + channel: + $ref: '#/channels/currencyExchange' + reply: + channel: + $ref: '#/channels/currencyExchange' + messages: + - $ref: '#/channels/currencyExchange/messages/subscriptionStatus' + - $ref: '#/channels/currencyExchange/messages/dummyCurrencyInfo' + messages: + - $ref: '#/channels/currencyExchange/messages/subscribe' + receiveUnsubscribeRequest: + action: receive + channel: + $ref: '#/channels/currencyExchange' + reply: + channel: + $ref: '#/channels/currencyExchange' + messages: + - $ref: '#/channels/currencyExchange/messages/subscriptionStatus' + messages: + - $ref: '#/channels/currencyExchange/messages/unsubscribe' + + +components: + messages: + dummyCurrencyInfo: + summary: Dummy message with no real life details + description: It is here in this example to showcase that there is an additional message that normally is of a complex structure. It represents actually currency exchange value to show a reply to operation receiveSubscribeRequest with more than one possible message. + payload: + type: object + properties: + event: + type: string + const: currencyInfo + reqid: + $ref: '#/components/schemas/reqid' + data: + type: object + required: + - event + correlationId: + location: '$message.payload#/reqid' + + ping: + summary: Ping server to determine whether connection is alive + description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated + payload: + $ref: '#/components/schemas/ping' + correlationId: + location: '$message.payload#/reqid' + + pong: + summary: Pong is a response to ping message + description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping + payload: + $ref: '#/components/schemas/pong' + correlationId: + location: '$message.payload#/reqid' + + subscribe: + description: Subscribe to a topic on a single or multiple currency pairs. + payload: + $ref: '#/components/schemas/subscribe' + correlationId: + location: '$message.payload#/reqid' + unsubscribe: + description: Unsubscribe, can specify a channelID or multiple currency pairs. + payload: + $ref: '#/components/schemas/unsubscribe' + correlationId: + location: '$message.payload#/reqid' + subscriptionStatus: + description: Subscription status response to subscribe, unsubscribe or exchange initiated unsubscribe. + payload: + $ref: '#/components/schemas/subscriptionStatus' + examples: + - payload: + channelID: 10001 + channelName: ohlc-5 + event: subscriptionStatus + pair: XBT/EUR + reqid: 42 + status: unsubscribed + subscription: + interval: 5 + name: ohlc + - payload: + errorMessage: Subscription depth not supported + event: subscriptionStatus + pair: XBT/USD + status: error + subscription: + depth: 42 + name: book + + systemStatus: + description: Status sent on connection or system status changes. + payload: + $ref: '#/components/schemas/systemStatus' + + heartbeat: + description: Server heartbeat sent if no subscription traffic within 1 second (approximately) + payload: + $ref: '#/components/schemas/heartbeat' + + + schemas: + ping: + type: object + properties: + event: + type: string + const: ping + reqid: + $ref: '#/components/schemas/reqid' + required: + - event + heartbeat: + type: object + properties: + event: + type: string + const: heartbeat + pong: + type: object + properties: + event: + type: string + const: pong + reqid: + $ref: '#/components/schemas/reqid' + systemStatus: + type: object + properties: + event: + type: string + const: systemStatus + connectionID: + type: integer + description: The ID of the connection + status: + $ref: '#/components/schemas/status' + version: + type: string + status: + type: string + enum: + - online + - maintenance + - cancel_only + - limit_only + - post_only + subscribe: + type: object + properties: + event: + type: string + const: subscribe + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + subscription: + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + name: + $ref: '#/components/schemas/name' + ratecounter: + $ref: '#/components/schemas/ratecounter' + snapshot: + $ref: '#/components/schemas/snapshot' + token: + $ref: '#/components/schemas/token' + required: + - name + required: + - event + unsubscribe: + type: object + properties: + event: + type: string + const: unsubscribe + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + subscription: + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + name: + $ref: '#/components/schemas/name' + token: + $ref: '#/components/schemas/token' + required: + - name + required: + - event + subscriptionStatus: + type: object + oneOf: + - $ref: '#/components/schemas/subscriptionStatusError' + - $ref: '#/components/schemas/subscriptionStatusSuccess' + subscriptionStatusError: + allOf: + - properties: + errorMessage: + type: string + required: + - errorMessage + - $ref: '#/components/schemas/subscriptionStatusCommon' + subscriptionStatusSuccess: + allOf: + - properties: + channelID: + type: integer + description: ChannelID on successful subscription, applicable to public messages only. + channelName: + type: string + description: Channel Name on successful subscription. For payloads 'ohlc' and 'book', respective interval or depth will be added as suffix. + required: + - channelID + - channelName + - $ref: '#/components/schemas/subscriptionStatusCommon' + subscriptionStatusCommon: + type: object + required: + - event + properties: + event: + type: string + const: subscriptionStatus + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + status: + $ref: '#/components/schemas/status' + subscription: + required: + - name + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + maxratecount: + $ref: '#/components/schemas/maxratecount' + name: + $ref: '#/components/schemas/name' + token: + $ref: '#/components/schemas/token' + interval: + type: integer + description: Time interval associated with ohlc subscription in minutes. + default: 1 + enum: + - 1 + - 5 + - 15 + - 30 + - 60 + - 240 + - 1440 + - 10080 + - 21600 + name: + type: string + description: The name of the channel you subscribe too. + enum: + - book + - ohlc + - openOrders + - ownTrades + - spread + - ticker + - trade + token: + type: string + description: base64-encoded authentication token for private-data endpoints. + depth: + type: integer + default: 10 + enum: + - 10 + - 25 + - 100 + - 500 + - 1000 + description: Depth associated with book subscription in number of levels each side. + maxratecount: + type: integer + description: Max rate-limit budget. Compare to the ratecounter field in the openOrders updates to check whether you are approaching the rate limit. + ratecounter: + type: boolean + default: false + description: Whether to send rate-limit counter in updates (supported only for openOrders subscriptions) + snapshot: + type: boolean + default: true + description: Whether to send historical feed data snapshot upon subscription (supported only for ownTrades subscriptions) + reqid: + type: integer + description: client originated ID reflected in response message. + pair: + type: array + description: Array of currency pairs. + items: + type: string + description: Format of each pair is "A/B", where A and B are ISO 4217-A3 for standardized assets and popular unique symbol if not standardized. + pattern: '[A-Z\s]+\/[A-Z\s]+' \ No newline at end of file From 228fdeb07a20026281aff71cec2f41ed4d25eb35 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 11 Feb 2024 00:43:25 +0400 Subject: [PATCH 196/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Kraken Websockets API Example --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dad3d7e0..438a1b25 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Hints: - [x] [application-headers-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/application-headers-asyncapi.yml) - [x] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) - [x] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) -- [ ] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) +- [x] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) - [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) - [x] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) - [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) From d31f2852e64f07b49e6d69a53bedc5f843945ee2 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 11 Feb 2024 00:59:54 +0400 Subject: [PATCH 197/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Kraken Websockets API Example --- README.md | 2 +- ...ketRequestReplyMultipleChannelsAsyncAPI.kt | 561 ++++++++++++++++++ ...quest-reply-multiple-channels-asyncapi.yml | 394 ++++++++++++ 3 files changed, 956 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMultipleChannelsAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-multiple-channels-asyncapi.yml diff --git a/README.md b/README.md index 438a1b25..f65fc5e9 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Hints: - [x] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) - [x] [gitter-streaming-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/gitter-streaming-asyncapi.yml) - [x] [kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-message-filter-in-reply-asyncapi.yml) -- [ ] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) +- [x] [kraken-websocket-request-reply-multiple-channels-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/kraken-websocket-request-reply-multiple-channels-asyncapi.yml) - [x] [mercure-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/mercure-asyncapi.yml) - [x] [not-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/not-asyncapi.yml) - [x] [oneof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/oneof-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMultipleChannelsAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMultipleChannelsAsyncAPI.kt new file mode 100644 index 00000000..72d8c433 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/KrakenWebsocketRequestReplyMultipleChannelsAsyncAPI.kt @@ -0,0 +1,561 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.channel.message.MessageExample +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply +import com.asyncapi.v3.schema.Schema + +class KrakenWebsocketRequestReplyMultipleChannelsAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/kraken-websocket-request-reply-multiple-channels-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Kraken Websockets API") + .version("1.8.0") + .description( + "WebSockets API offers real-time market data updates. WebSockets is a bidirectional protocol offering fastest real-time data, helping you build real-time applications. The public message types presented below do not require authentication. Private-data messages can be subscribed on a separate authenticated endpoint. \n" + + "\n" + + "### General Considerations\n" + + "\n" + + "- TLS with SNI (Server Name Indication) is required in order to establish a Kraken WebSockets API connection. See Cloudflare's [What is SNI?](https://www.cloudflare.com/learning/ssl/what-is-sni/) guide for more details.\n" + + "- All messages sent and received via WebSockets are encoded in JSON format\n" + + "- All decimal fields (including timestamps) are quoted to preserve precision.\n" + + "- Timestamps should not be considered unique and not be considered as aliases for transaction IDs. Also, the granularity of timestamps is not representative of transaction rates.\n" + + "- At least one private message should be subscribed to keep the authenticated client connection open.\n" + + "- Please use REST API endpoint [AssetPairs](https://www.kraken.com/features/api#get-tradable-pairs) to fetch the list of pairs which can be subscribed via WebSockets API. For example, field 'wsname' gives the supported pairs name which can be used to subscribe.\n" + + "- Cloudflare imposes a connection/re-connection rate limit (per IP address) of approximately 150 attempts per rolling 10 minutes. If this is exceeded, the IP is banned for 10 minutes.\n" + + "- Recommended reconnection behaviour is to (1) attempt reconnection instantly up to a handful of times if the websocket is dropped randomly during normal operation but (2) after maintenance or extended downtime, attempt to reconnect no more quickly than once every 5 seconds. There is no advantage to reconnecting more rapidly after maintenance during cancel_only mode.\n" + ) + .build() + } + + override fun expectedServers(): Map = emptyMap() + + override fun expectedChannels(): Map { + return mapOf( + Pair("ping", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("ping", Reference("#/components/messages/ping")), + )) + .build() + ), + Pair("pong", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("pong", Reference("#/components/messages/pong")), + )) + .build() + ), + Pair("heartbeat", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("heartbeat", Reference("#/components/messages/heartbeat")), + )) + .build() + ), + Pair("systemStatus", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("systemStatus", Reference("#/components/messages/systemStatus")), + )) + .build() + ), + Pair("currencyInfo", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("subscriptionStatus", Reference("#/components/messages/subscriptionStatus")), + Pair("dummyCurrencyInfo", Reference("#/components/messages/dummyCurrencyInfo")), + )) + .build() + ), + Pair("subscribe", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("subscribe", Reference("#/components/messages/subscribe")), + )) + .build() + ), + Pair("unsubscribe", + Channel.builder() + .address("/") + .messages(mapOf( + Pair("unsubscribe", Reference("#/components/messages/unsubscribe")), + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + return mapOf( + Pair("receivePing", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/ping")) + .reply(OperationReply( + null, + Reference("#/channels/pong"), + null + )) + .build() + ), + Pair("heartbeat", Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/heartbeat")) + .build() + ), + Pair("systemStatus", Operation.builder() + .action(OperationAction.SEND) + .channel(Reference("#/channels/systemStatus")) + .build() + ), + Pair("subscribe", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/subscribe")) + .reply(OperationReply( + null, + Reference("#/channels/currencyInfo"), + null + )) + .build() + ), + Pair("unsubscribe", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/unsubscribe")) + .reply(OperationReply( + null, + Reference("#/channels/currencyInfo"), + listOf(Reference("#/channels/currencyInfo/messages/subscriptionStatus")) + )) + .build() + ), + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("dummyCurrencyInfo", Message.builder() + .summary("Dummy message with no real life details") + .description("It is here in this example to showcase that there is an additional message that normally is of a complex structure. It represents actually currency exchange value to show a reply to operation receiveSubscribeRequest with more than one possible message.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("currencyInfo") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("data", Schema.builder() + .type("object") + .build() + ), + )) + .required(listOf("event")) + .build() + ) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("ping", Message.builder() + .summary("Ping server to determine whether connection is alive") + .description("Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated") + .payload(Reference("#/components/schemas/ping")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("pong", Message.builder() + .summary("Pong is a response to ping message") + .description("Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping") + .payload(Reference("#/components/schemas/pong")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("subscribe", Message.builder() + .description("Subscribe to a topic on a single or multiple currency pairs.") + .payload(Reference("#/components/schemas/subscribe")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("unsubscribe", Message.builder() + .description("Unsubscribe, can specify a channelID or multiple currency pairs.") + .payload(Reference("#/components/schemas/unsubscribe")) + .correlationId(CorrelationId(null, "\$message.payload#/reqid")) + .build() + ), + Pair("subscriptionStatus", Message.builder() + .description("Subscription status response to subscribe, unsubscribe or exchange initiated unsubscribe.") + .payload(Reference("#/components/schemas/subscriptionStatus")) + .examples(listOf( + MessageExample.builder() + .payload(mapOf( + Pair("channelID", 10001), + Pair("channelName", "ohlc-5"), + Pair("event", "subscriptionStatus"), + Pair("pair", "XBT/EUR"), + Pair("reqid", 42), + Pair("status", "unsubscribed"), + Pair("subscription", mapOf( + Pair("interval", 5), + Pair("name", "ohlc") + )), + )) + .build(), + MessageExample.builder() + .payload(mapOf( + Pair("errorMessage", "Subscription depth not supported"), + Pair("event", "subscriptionStatus"), + Pair("pair", "XBT/USD"), + Pair("status", "error"), + Pair("subscription", mapOf( + Pair("depth", 42), + Pair("name", "book") + )), + )) + .build() + )) + .build() + ), + Pair("systemStatus", Message.builder() + .description("Status sent on connection or system status changes.") + .payload(Reference("#/components/schemas/systemStatus")) + .build() + ), + Pair("heartbeat", Message.builder() + .description("Server heartbeat sent if no subscription traffic within 1 second (approximately)") + .payload(Reference("#/components/schemas/heartbeat")) + .build() + ), + )) + .schemas(mapOf( + Pair("ping", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("ping") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("heartbeat", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("heartbeat") + .build() + ) + )) + .build() + ), + Pair("pong", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("pong") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ) + )) + .build() + ), + Pair("systemStatus", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("systemStatus") + .build() + ), + Pair("connectionID", Schema.builder() + .type("integer") + .description("The ID of the connection") + .build() + ), + Pair("status", Schema.builder() + .ref("#/components/schemas/status") + .build() + ), + Pair("version", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ), + Pair("status", Schema.builder() + .type("string") + .enumValue(listOf( + "online", "maintenance", "cancel_only", "limit_only", "post_only" + )) + .build() + ), + Pair("subscribe", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("subscribe") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .properties(mapOf( + Pair("depth", Schema.builder() + .ref("#/components/schemas/depth") + .build() + ), + Pair("interval", Schema.builder() + .ref("#/components/schemas/interval") + .build() + ), + Pair("name", Schema.builder() + .ref("#/components/schemas/name") + .build() + ), + Pair("ratecounter", Schema.builder() + .ref("#/components/schemas/ratecounter") + .build() + ), + Pair("snapshot", Schema.builder() + .ref("#/components/schemas/snapshot") + .build() + ), + Pair("token", Schema.builder() + .ref("#/components/schemas/token") + .build() + ) + )) + .required(listOf("name")) + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("unsubscribe", Schema.builder() + .type("object") + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("unsubscribe") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .properties(mapOf( + Pair("depth", Schema.builder() + .ref("#/components/schemas/depth") + .build() + ), + Pair("interval", Schema.builder() + .ref("#/components/schemas/interval") + .build() + ), + Pair("name", Schema.builder() + .ref("#/components/schemas/name") + .build() + ), + Pair("token", Schema.builder() + .ref("#/components/schemas/token") + .build() + ) + )) + .required(listOf("name")) + .build() + ) + )) + .required(listOf("event")) + .build() + ), + Pair("subscriptionStatus", Schema.builder() + .type("object") + .oneOf(listOf( + Schema.builder().ref("#/components/schemas/subscriptionStatusError").build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusSuccess").build() + )) + .build() + ), + Pair("subscriptionStatusError", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("errorMessage", Schema.builder().type("string").build()) + )) + .required(listOf("errorMessage")) + .build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusCommon").build() + )) + .build() + ), + Pair("subscriptionStatusSuccess", Schema.builder() + .allOf(listOf( + Schema.builder() + .properties(mapOf( + Pair("channelID", Schema.builder() + .type("integer") + .description("ChannelID on successful subscription, applicable to public messages only.") + .build() + ), + Pair("channelName", Schema.builder() + .type("string") + .description("Channel Name on successful subscription. For payloads 'ohlc' and 'book', respective interval or depth will be added as suffix.") + .build() + ) + )) + .required(listOf("channelID", "channelName")) + .build(), + Schema.builder().ref("#/components/schemas/subscriptionStatusCommon").build() + )) + .build() + ), + Pair("subscriptionStatusCommon", Schema.builder() + .type("object") + .required(listOf("event")) + .properties(mapOf( + Pair("event", Schema.builder() + .type("string") + .constValue("subscriptionStatus") + .build() + ), + Pair("reqid", Schema.builder() + .ref("#/components/schemas/reqid") + .build() + ), + Pair("pair", Schema.builder() + .ref("#/components/schemas/pair") + .build() + ), + Pair("status", Schema.builder() + .ref("#/components/schemas/status") + .build() + ), + Pair("subscription", Schema.builder() + .type("object") + .required(listOf("name")) + .properties(mapOf( + Pair("depth", Schema.builder().ref("#/components/schemas/depth").build()), + Pair("interval", Schema.builder().ref("#/components/schemas/interval").build()), + Pair("maxratecount", Schema.builder().ref("#/components/schemas/maxratecount").build()), + Pair("name", Schema.builder().ref("#/components/schemas/name").build()), + Pair("token", Schema.builder().ref("#/components/schemas/token").build()), + )) + .build() + ) + )) + .build() + ), + Pair("interval", Schema.builder() + .type("integer") + .description("Time interval associated with ohlc subscription in minutes.") + .defaultValue(1) + .enumValue(listOf( + 1, 5, 15, 30, 60, 240, 1440, 10080, 21600 + )) + .build() + ), + Pair("name", Schema.builder() + .type("string") + .description("The name of the channel you subscribe too.") + .enumValue(listOf( + "book", "ohlc", "openOrders", "ownTrades", "spread", "ticker", "trade" + )) + .build() + ), + Pair("token", Schema.builder() + .type("string") + .description("base64-encoded authentication token for private-data endpoints.") + .build() + ), + Pair("depth", Schema.builder() + .type("integer") + .defaultValue(10) + .description("Depth associated with book subscription in number of levels each side.") + .enumValue(listOf( + 10, 25, 100, 500, 1000 + )) + .build() + ), + Pair("maxratecount", Schema.builder() + .type("integer") + .description("Max rate-limit budget. Compare to the ratecounter field in the openOrders updates to check whether you are approaching the rate limit.") + .build() + ), + Pair("ratecounter", Schema.builder() + .type("boolean") + .defaultValue(false) + .description("Whether to send rate-limit counter in updates (supported only for openOrders subscriptions)") + .build() + ), + Pair("snapshot", Schema.builder() + .type("boolean") + .defaultValue(true) + .description("Whether to send historical feed data snapshot upon subscription (supported only for ownTrades subscriptions)") + .build() + ), + Pair("reqid", Schema.builder() + .type("integer") + .description("client originated ID reflected in response message.") + .build() + ), + Pair("pair", Schema.builder() + .type("array") + .description("Array of currency pairs.") + .items(Schema.builder() + .type("string") + .description("Format of each pair is \"A/B\", where A and B are ISO 4217-A3 for standardized assets and popular unique symbol if not standardized.") + .pattern("[A-Z\\s]+\\/[A-Z\\s]+") + .build() + ) + .build() + ), + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-multiple-channels-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-multiple-channels-asyncapi.yml new file mode 100644 index 00000000..d3c1c257 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/kraken-websocket-request-reply-multiple-channels-asyncapi.yml @@ -0,0 +1,394 @@ +asyncapi: 3.0.0 + +info: + title: Kraken Websockets API + version: '1.8.0' + description: | + WebSockets API offers real-time market data updates. WebSockets is a bidirectional protocol offering fastest real-time data, helping you build real-time applications. The public message types presented below do not require authentication. Private-data messages can be subscribed on a separate authenticated endpoint. + + ### General Considerations + + - TLS with SNI (Server Name Indication) is required in order to establish a Kraken WebSockets API connection. See Cloudflare's [What is SNI?](https://www.cloudflare.com/learning/ssl/what-is-sni/) guide for more details. + - All messages sent and received via WebSockets are encoded in JSON format + - All decimal fields (including timestamps) are quoted to preserve precision. + - Timestamps should not be considered unique and not be considered as aliases for transaction IDs. Also, the granularity of timestamps is not representative of transaction rates. + - At least one private message should be subscribed to keep the authenticated client connection open. + - Please use REST API endpoint [AssetPairs](https://www.kraken.com/features/api#get-tradable-pairs) to fetch the list of pairs which can be subscribed via WebSockets API. For example, field 'wsname' gives the supported pairs name which can be used to subscribe. + - Cloudflare imposes a connection/re-connection rate limit (per IP address) of approximately 150 attempts per rolling 10 minutes. If this is exceeded, the IP is banned for 10 minutes. + - Recommended reconnection behaviour is to (1) attempt reconnection instantly up to a handful of times if the websocket is dropped randomly during normal operation but (2) after maintenance or extended downtime, attempt to reconnect no more quickly than once every 5 seconds. There is no advantage to reconnecting more rapidly after maintenance during cancel_only mode. + + +channels: + ping: + address: / + messages: + ping: + $ref: '#/components/messages/ping' + pong: + address: / + messages: + pong: + $ref: '#/components/messages/pong' + + heartbeat: + address: / + messages: + heartbeat: + $ref: '#/components/messages/heartbeat' + + systemStatus: + address: / + messages: + systemStatus: + $ref: '#/components/messages/systemStatus' + + currencyInfo: + address: / + messages: + subscriptionStatus: + $ref: '#/components/messages/subscriptionStatus' + dummyCurrencyInfo: + $ref: '#/components/messages/dummyCurrencyInfo' + + subscribe: + address: / + messages: + subscribe: + $ref: '#/components/messages/subscribe' + + unsubscribe: + address: / + messages: + unsubscribe: + $ref: '#/components/messages/unsubscribe' + +operations: + receivePing: + action: receive + channel: + $ref: '#/channels/ping' + reply: + channel: + $ref: '#/channels/pong' + heartbeat: + action: send + channel: + $ref: '#/channels/heartbeat' + systemStatus: + action: send + channel: + $ref: '#/channels/systemStatus' + subscribe: + action: receive + channel: + $ref: '#/channels/subscribe' + reply: + channel: + $ref: '#/channels/currencyInfo' + unsubscribe: + action: receive + channel: + $ref: '#/channels/unsubscribe' + reply: + channel: + $ref: '#/channels/currencyInfo' + messages: + - $ref: '#/channels/currencyInfo/messages/subscriptionStatus' + + +components: + messages: + dummyCurrencyInfo: + summary: Dummy message with no real life details + description: It is here in this example to showcase that there is an additional message that normally is of a complex structure. It represents actually currency exchange value to show a reply to operation receiveSubscribeRequest with more than one possible message. + payload: + type: object + properties: + event: + type: string + const: currencyInfo + reqid: + $ref: '#/components/schemas/reqid' + data: + type: object + required: + - event + correlationId: + location: '$message.payload#/reqid' + ping: + summary: Ping server to determine whether connection is alive + description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated + payload: + $ref: '#/components/schemas/ping' + correlationId: + location: $message.payload#/reqid + + pong: + summary: Pong is a response to ping message + description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping + payload: + $ref: '#/components/schemas/pong' + correlationId: + location: $message.payload#/reqid + + subscribe: + description: Subscribe to a topic on a single or multiple currency pairs. + payload: + $ref: '#/components/schemas/subscribe' + correlationId: + location: $message.payload#/reqid + unsubscribe: + description: Unsubscribe, can specify a channelID or multiple currency pairs. + payload: + $ref: '#/components/schemas/unsubscribe' + correlationId: + location: $message.payload#/reqid + subscriptionStatus: + description: Subscription status response to subscribe, unsubscribe or exchange initiated unsubscribe. + payload: + $ref: '#/components/schemas/subscriptionStatus' + examples: + - payload: + channelID: 10001 + channelName: ohlc-5 + event: subscriptionStatus + pair: XBT/EUR + reqid: 42 + status: unsubscribed + subscription: + interval: 5 + name: ohlc + - payload: + errorMessage: Subscription depth not supported + event: subscriptionStatus + pair: XBT/USD + status: error + subscription: + depth: 42 + name: book + + systemStatus: + description: Status sent on connection or system status changes. + payload: + $ref: '#/components/schemas/systemStatus' + + heartbeat: + description: Server heartbeat sent if no subscription traffic within 1 second (approximately) + payload: + $ref: '#/components/schemas/heartbeat' + + + schemas: + ping: + type: object + properties: + event: + type: string + const: ping + reqid: + $ref: '#/components/schemas/reqid' + required: + - event + heartbeat: + type: object + properties: + event: + type: string + const: heartbeat + pong: + type: object + properties: + event: + type: string + const: pong + reqid: + $ref: '#/components/schemas/reqid' + systemStatus: + type: object + properties: + event: + type: string + const: systemStatus + connectionID: + type: integer + description: The ID of the connection + status: + $ref: '#/components/schemas/status' + version: + type: string + status: + type: string + enum: + - online + - maintenance + - cancel_only + - limit_only + - post_only + subscribe: + type: object + properties: + event: + type: string + const: subscribe + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + subscription: + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + name: + $ref: '#/components/schemas/name' + ratecounter: + $ref: '#/components/schemas/ratecounter' + snapshot: + $ref: '#/components/schemas/snapshot' + token: + $ref: '#/components/schemas/token' + required: + - name + required: + - event + unsubscribe: + type: object + properties: + event: + type: string + const: unsubscribe + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + subscription: + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + name: + $ref: '#/components/schemas/name' + token: + $ref: '#/components/schemas/token' + required: + - name + required: + - event + subscriptionStatus: + type: object + oneOf: + - $ref: '#/components/schemas/subscriptionStatusError' + - $ref: '#/components/schemas/subscriptionStatusSuccess' + subscriptionStatusError: + allOf: + - properties: + errorMessage: + type: string + required: + - errorMessage + - $ref: '#/components/schemas/subscriptionStatusCommon' + subscriptionStatusSuccess: + allOf: + - properties: + channelID: + type: integer + description: ChannelID on successful subscription, applicable to public messages only. + channelName: + type: string + description: Channel Name on successful subscription. For payloads 'ohlc' and 'book', respective interval or depth will be added as suffix. + required: + - channelID + - channelName + - $ref: '#/components/schemas/subscriptionStatusCommon' + subscriptionStatusCommon: + type: object + required: + - event + properties: + event: + type: string + const: subscriptionStatus + reqid: + $ref: '#/components/schemas/reqid' + pair: + $ref: '#/components/schemas/pair' + status: + $ref: '#/components/schemas/status' + subscription: + required: + - name + type: object + properties: + depth: + $ref: '#/components/schemas/depth' + interval: + $ref: '#/components/schemas/interval' + maxratecount: + $ref: '#/components/schemas/maxratecount' + name: + $ref: '#/components/schemas/name' + token: + $ref: '#/components/schemas/token' + interval: + type: integer + description: Time interval associated with ohlc subscription in minutes. + default: 1 + enum: + - 1 + - 5 + - 15 + - 30 + - 60 + - 240 + - 1440 + - 10080 + - 21600 + name: + type: string + description: The name of the channel you subscribe too. + enum: + - book + - ohlc + - openOrders + - ownTrades + - spread + - ticker + - trade + token: + type: string + description: base64-encoded authentication token for private-data endpoints. + depth: + type: integer + default: 10 + enum: + - 10 + - 25 + - 100 + - 500 + - 1000 + description: Depth associated with book subscription in number of levels each side. + maxratecount: + type: integer + description: Max rate-limit budget. Compare to the ratecounter field in the openOrders updates to check whether you are approaching the rate limit. + ratecounter: + type: boolean + default: false + description: Whether to send rate-limit counter in updates (supported only for openOrders subscriptions) + snapshot: + type: boolean + default: true + description: Whether to send historical feed data snapshot upon subscription (supported only for ownTrades subscriptions) + reqid: + type: integer + description: client originated ID reflected in response message. + pair: + type: array + description: Array of currency pairs. + items: + type: string + description: Format of each pair is "A/B", where A and B are ISO 4217-A3 for standardized assets and popular unique symbol if not standardized. + pattern: '[A-Z\s]+\/[A-Z\s]+' \ No newline at end of file From e836aacea1c1fd248413ac003a98ed5bcf680c4f Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Wed, 14 Feb 2024 21:26:22 +0400 Subject: [PATCH 198/210] test(3.0.0): check correctness of realisation by reading AsyncAPI example - Adeo AsyncAPI Case Study Example --- README.md | 2 +- .../v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt | 388 ++++++++++++++++++ .../adeo-kafka-request-reply-asyncapi.yml | 298 ++++++++++++++ 3 files changed, 687 insertions(+), 1 deletion(-) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt create mode 100644 asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml diff --git a/README.md b/README.md index f65fc5e9..66ff100d 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Hints: - [AsyncAPI Quarkus](https://github.com/quarkiverse/quarkus-asyncapi) - Generates AsyncAPIRegistry and configuration classes for Quarkus ## Known open specifications to check compatibility with: -- [ ] [adeo-kafka-request-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/adeo-kafka-request-reply-asyncapi.yml) +- [x] [adeo-kafka-request-reply-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/adeo-kafka-request-reply-asyncapi.yml) - [x] [anyof-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/anyof-asyncapi.yml) - [x] [application-headers-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/application-headers-asyncapi.yml) - [x] [correlation-id-asyncapi.yml](https://github.com/asyncapi/spec/blob/master/examples/correlation-id-asyncapi.yml) diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt new file mode 100644 index 00000000..86e2c7fd --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt @@ -0,0 +1,388 @@ +package com.asyncapi.examples.v3._0_0 + +import com.asyncapi.v3.Reference +import com.asyncapi.v3._0_0.model.Tag +import com.asyncapi.v3._0_0.model.channel.Channel +import com.asyncapi.v3._0_0.model.channel.Parameter +import com.asyncapi.v3._0_0.model.channel.message.CorrelationId +import com.asyncapi.v3._0_0.model.channel.message.Message +import com.asyncapi.v3._0_0.model.component.Components +import com.asyncapi.v3._0_0.model.info.Contact +import com.asyncapi.v3._0_0.model.info.Info +import com.asyncapi.v3._0_0.model.operation.Operation +import com.asyncapi.v3._0_0.model.operation.OperationAction +import com.asyncapi.v3._0_0.model.operation.reply.OperationReply +import com.asyncapi.v3._0_0.model.operation.reply.OperationReplyAddress +import com.asyncapi.v3._0_0.model.server.Server +import com.asyncapi.v3.binding.channel.kafka.KafkaChannelBinding +import com.asyncapi.v3.binding.channel.kafka.KafkaChannelTopicCleanupPolicy +import com.asyncapi.v3.binding.channel.kafka.KafkaChannelTopicConfiguration +import com.asyncapi.v3.binding.operation.kafka.KafkaOperationBinding +import com.asyncapi.v3.binding.server.kafka.KafkaServerBinding +import com.asyncapi.v3.schema.MultiFormatSchema +import com.asyncapi.v3.schema.Schema +import com.asyncapi.v3.security_scheme.SecurityScheme + +class AdeoKafkaRequestReplyAsyncAPI: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml" + + override fun expectedInfo(): Info { + return Info( + "Adeo AsyncAPI Case Study", + "%REPLACED_BY_MAVEN%", + "This Adeo specification illustrates how ADEO uses AsyncAPI to document some of their exchanges.\n", + null, + Contact( + "AsyncAPI Community", + null, + "case-study@asyncapi.com" + ), + null, + listOf( + Tag("costing", "Costing channels, used by Costing clients.", null) + ), + null + ) + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .host("prod.url:9092") + .protocol("kafka") + .description("Kafka PRODUCTION cluster") + .security(listOf(Reference("#/components/securitySchemes/sasl-ssl"))) + .bindings(mapOf( + Pair("kafka", KafkaServerBinding.builder() + .schemaRegistryUrl("https://schema-registry.prod.url/") + .build() + ) + )) + .build() + ), + Pair("staging", Server.builder() + .host("staging.url:9092") + .protocol("kafka") + .description("Kafka STAGING cluster for `uat` and `preprod` environments") + .security(listOf(Reference("#/components/securitySchemes/sasl-ssl"))) + .bindings(mapOf( + Pair("kafka", KafkaServerBinding.builder() + .schemaRegistryUrl("https://schema-registry.prod.url/") + .build() + ) + )) + .build() + ), + Pair("dev", Server.builder() + .host("dev.url:9092") + .protocol("kafka") + .description("Kafka DEV cluster for `dev` and `sit` environments") + .security(listOf(Reference("#/components/securitySchemes/sasl-ssl"))) + .bindings(mapOf( + Pair("kafka", KafkaServerBinding.builder() + .schemaRegistryUrl("https://schema-registry.prod.url/") + .build() + ) + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + val costingResponseChannelKafkaBinding = KafkaChannelBinding() + costingResponseChannelKafkaBinding.extensionFields = mapOf( + Pair("x-key-subject-name-strategy", mapOf( + Pair("type", "string"), + Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `key.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your consumer configuration.\n"), + )), + Pair("x-value-subject-name-strategy", mapOf( + Pair("type", "string"), + Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your consumer configuration.\n"), + )) + ) + + return mapOf( + Pair("costingRequestChannel", Channel.builder() + .address("adeo-{env}-case-study-COSTING-REQUEST-{version}") + .description( + "Use this topic to do a Costing Request to Costing product. We use the " + + "[**RecordNameStrategy**](https://docs.confluent.io/platform/current/schema-registry/serdes-develop/index.html#subject-name-strategy) " + + "to infer the messages schema. You have to define " + + "`value.subject.name.strategy` to " + + "`io.confluent.kafka.serializers.subject.RecordNameStrategy` in your " + + "producer to use the schema we manage. The schema below illustrates how " + + "Costing Request messages are handled. " + + "![](https://user-images.githubusercontent.com/5501911/188920831-689cec5f-8dc3-460b-8794-0b54ec8b0ac8.png)\n" + ) + .parameters(mapOf( + Pair("env", Reference("#/components/parameters/Env")), + Pair("version", Reference("#/components/parameters/Version")) + )) + .bindings(mapOf( + Pair("kafka", KafkaChannelBinding.builder() + .replicas(3) + .partitions(3) + .topicConfiguration(KafkaChannelTopicConfiguration.builder() + .cleanupPolicy(listOf(KafkaChannelTopicCleanupPolicy.DELETE)) + .retentionMs(60000000) + .build() + ) + .build() + ) + )) + .messages(mapOf( + Pair("CostingRequest", Reference("#/components/messages/costingRequestV1")) + )) + .build() + ), + Pair("costingResponseChannel", Channel.builder() + .address(null) + .description("This topic is used to REPLY Costing Requests and is targeted by the " + + "`REPLY_TOPIC` header. **You must grant PUBLISH access to our `svc-ccr-app` " + + "service account.**. We use the " + + "[**RecordNameStrategy**](https://docs.confluent.io/platform/current/schema-registry/serdes-develop/index.html#subject-name-strategy) " + + "to infer the messages schema. " + + "\n" + + "Topic should follow pattern \"adeo-{env}-case-study-COSTING-RESPONSE-{version}\"" + + "\n" + + "You have to define " + + "`key.subject.name.strategy` and `value.subject.name.strategy` to " + + "`io.confluent.kafka.serializers.subject.RecordNameStrategy` in your " + + "consumer. The schema below illustrates how Costing Response messages are " + + "handled.\n" + + " ![](https://user-images.githubusercontent.com/5501911/188920831-689cec5f-8dc3-460b-8794-0b54ec8b0ac8.png)\n" + ) + .bindings(mapOf( + Pair("kafka", costingResponseChannelKafkaBinding) + )) + .tags(listOf(Tag.builder().name("costing").build())) + .messages(mapOf( + Pair("costingResponse", Reference("#/components/messages/costingResponse")) + )) + .build() + ) + ) + } + + override fun expectedOperations(): Map { + val receiveACostingRequestKafkaBinding = KafkaOperationBinding.builder() + .groupId(Schema.builder() + .type("string") + .description("The groupId must be prefixed by your `svc` account, deliver by the Adeo Kafka team. This `svc` must have the write access to the topic.\n") + .build() + ) + .build() + receiveACostingRequestKafkaBinding.extensionFields = mapOf( + Pair("x-value-subject-name-strategy", mapOf( + Pair("type", "string"), + Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your producer configuration.\n" + ), + )) + ) + + return mapOf( + Pair("receiveACostingRequest", Operation.builder() + .action(OperationAction.RECEIVE) + .channel(Reference("#/channels/costingRequestChannel")) + .reply(OperationReply.builder() + .channel(Reference("#/channels/costingResponseChannel")) + .address(OperationReplyAddress( + null, + "\$message.header#/REPLY_TOPIC" + )) + .build() + ) + .summary("[COSTING] Request one or more Costing calculation for any product\n") + .description("You can try a costing request using our [Conduktor producer template](https://conduktor.url/)\n") + .tags(listOf(Tag.builder().name("costing").build())) + .bindings(mapOf( + Pair("kafka", receiveACostingRequestKafkaBinding) + )) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + val saslSslSecurityScheme = SecurityScheme( + SecurityScheme.Type.PLAIN, + "Use [SASL authentication with SSL " + + "encryption](https://docs.confluent.io/platform/current/security/security_tutorial.html#configure-clients) " + + "to connect to the ADEO Broker." + ) + saslSslSecurityScheme.extensionFields = mapOf( + Pair("x-sasl-jaas-config", "org.apache.kafka.common.security.plain.PlainLoginModule required " + + "username=\"\" password=\"\";"), + Pair("x-security-protocol", "SASL_SSL"), + Pair("x-ssl-endpoint-identification-algorithm", "https"), + Pair("x-sasl-mechanism", "PLAIN") + ) + + return Components.builder() + .correlationIds(mapOf( + Pair("costingCorrelationId", CorrelationId( + "This correlation ID is used for message tracing and messages " + + "correlation. This correlation ID is generated at runtime based on the " + + "`REQUEST_ID` and sent to the RESPONSE message.\n", + "\$message.header#/REQUEST_ID" + )) + )) + .messages(mapOf( + Pair("costingRequestV1", Message.builder() + .name("CostingRequestV1") + .title("Costing Request V1") + .summary("Costing Request V1 inputs.") + .tags(listOf( + Tag.builder().name("costing").build() + )) + .correlationId(Reference("#/components/correlationIds/costingCorrelationId")) + .headers(Schema.builder() + .type("object") + .required(listOf( + "REQUESTER_ID", "REQUESTER_CODE", "REQUEST_ID", "REPLY_TOPIC" + )) + .properties(mapOf( + Pair("REQUEST_ID", Schema.builder().ref("#/components/schemas/RequestId").build()), + Pair("REPLY_TOPIC", Schema.builder().ref("#/components/schemas/ReplyTopic").build()), + Pair("REQUESTER_ID", Schema.builder().ref("#/components/schemas/RequesterId").build()), + Pair("REQUESTER_CODE", Schema.builder().ref("#/components/schemas/RequesterCode").build()), + )) + .build() + ) + .payload(MultiFormatSchema( + "application/vnd.apache.avro;version=1.9.0", + mapOf(Pair("\$ref", "https://www.asyncapi.com/resources/casestudies/adeo/CostingRequestPayload.avsc")) + )) + .build() + ), + Pair("costingResponse", Message.builder() + .name("CostingResponse") + .title("Costing Response") + .summary("Costing Response ouputs.") + .description("Please refer to the `CostingResponseKey.avsc` schema, available on [our " + + "github project](https://github.url/).\n") + .tags(listOf( + Tag.builder().name("costing").build() + )) + .correlationId(Reference("#/components/correlationIds/costingCorrelationId")) + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("CALCULATION_ID", Schema.builder().ref("#/components/schemas/MessageId").build()), + Pair("CORRELATION_ID", Schema.builder().ref("#/components/schemas/CorrelationId").build()), + Pair("REQUEST_TIMESTAMP", Schema.builder() + .type("string") + .format("date-time") + .description("Timestamp of the costing request") + .build() + ), + Pair("CALCULATION_TIMESTAMP", Schema.builder() + .type("string") + .format("date-time") + .description("Technical timestamp for the costing calculation") + .build() + ), + )) + .build() + ) + .payload(MultiFormatSchema( + "application/vnd.apache.avro;version=1.9.0", + mapOf(Pair("\$ref", "https://www.asyncapi.com/resources/casestudies/adeo/CostingResponsePayload.avsc")) + )) + .build() + ) + )) + .schemas(mapOf( + Pair("RequesterId", Schema.builder() + .type("string") + .description("The Costing requester service account used to produce costing request.") + .examples(listOf("svc-ecollect-app")) + .build() + ), + Pair("RequesterCode", Schema.builder() + .type("string") + .description("The Costing requester code (generally the BU Code). The requester code is useful to get the dedicated context (tenant).") + .examples(listOf(1)) + .build() + ), + Pair("MessageId", Schema.builder() + .type("string") + .format("uuid") + .description("A unique Message ID.") + .examples(listOf("1fa6ef40-8f47-40a8-8cf6-f8607d0066ef")) + .build() + ), + Pair("RequestId", Schema.builder() + .type("string") + .format("uuid") + .description("A unique Request ID needed to define a `CORRELATION_ID` for exchanges, " + + "which will be sent back in the Costing Responses.") + .examples(listOf("1fa6ef40-8f47-40a8-8cf6-f8607d0066ef")) + .build() + ), + Pair("CorrelationId", Schema.builder() + .type("string") + .format("uuid") + .description("A unique Correlation ID defined from the `REQUEST_ID` or the " + + "`MESSAGE_ID` provided in the Costing Request.") + .examples(listOf("1fa6ef40-8f47-40a8-8cf6-f8607d0066ef")) + .build() + ), + Pair("BuCode", Schema.builder() + .type("string") + .description("The Business Unit code for which data are applicable.") + .examples(listOf(1)) + .build() + ), + Pair("ReplyTopic", Schema.builder() + .type("string") + .description("The Kafka topic where to send the Costing Response. This is required for " + + "the [Return Address EIP " + + "pattern](https://www.enterpriseintegrationpatterns.com/patterns/messaging/ReturnAddress.html). " + + "**You must grant WRITE access to our `svc-ccr-app` service account.**\n") + .examples(listOf("adeo-case-study-COSTING-RESPONSE-V1")) + .build() + ), + Pair("ErrorStep", Schema.builder() + .type("string") + .description("The woker that has thrown the error.\n") + .examples(listOf("EXPOSE_RESULT")) + .build() + ), + Pair("ErrorMessage", Schema.builder() + .type("string") + .description("The error message describing the error.\n") + .examples(listOf("Error message")) + .build() + ), + Pair("ErrorCode", Schema.builder() + .type("string") + .description("The error code.\n") + .examples(listOf("CURRENCY_NOT_FOUND")) + .build() + ) + )) + .parameters(mapOf( + Pair("Env", Parameter.builder() + .description("Adeo Kafka Environement for messages publications.") + .enumValues(listOf( + "dev", "sit", "uat1", "preprod", "prod" + )) + .build() + ), + Pair("Version", Parameter.builder() + .description("the topic version you want to use") + .examples(listOf("V1")) + .defaultValue("V1") + .build() + ) + )) + .securitySchemes(mapOf( + Pair("sasl-ssl", saslSslSecurityScheme) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml new file mode 100644 index 00000000..a7e7f333 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml @@ -0,0 +1,298 @@ +asyncapi: 3.0.0 +info: + title: Adeo AsyncAPI Case Study + version: '%REPLACED_BY_MAVEN%' + description: > + This Adeo specification illustrates how ADEO uses AsyncAPI to document some + of their exchanges. + contact: + name: AsyncAPI Community + email: case-study@asyncapi.com + tags: + - name: costing + description: Costing channels, used by Costing clients. +servers: + production: + host: prod.url:9092 + protocol: kafka + description: Kafka PRODUCTION cluster + security: + - $ref: '#/components/securitySchemes/sasl-ssl' + bindings: + kafka: + schemaRegistryUrl: https://schema-registry.prod.url/ + staging: + host: staging.url:9092 + protocol: kafka + description: Kafka STAGING cluster for `uat` and `preprod` environments + security: + - $ref: '#/components/securitySchemes/sasl-ssl' + bindings: + kafka: + schemaRegistryUrl: https://schema-registry.prod.url/ + dev: + host: dev.url:9092 + protocol: kafka + description: Kafka DEV cluster for `dev` and `sit` environments + security: + - $ref: '#/components/securitySchemes/sasl-ssl' + bindings: + kafka: + schemaRegistryUrl: https://schema-registry.prod.url/ +channels: + costingRequestChannel: + address: adeo-{env}-case-study-COSTING-REQUEST-{version} + description: > + Use this topic to do a Costing Request to Costing product. We use the + [**RecordNameStrategy**](https://docs.confluent.io/platform/current/schema-registry/serdes-develop/index.html#subject-name-strategy) + to infer the messages schema. You have to define + `value.subject.name.strategy` to + `io.confluent.kafka.serializers.subject.RecordNameStrategy` in your + producer to use the schema we manage. The schema below illustrates how + Costing Request messages are handled. + ![](https://user-images.githubusercontent.com/5501911/188920831-689cec5f-8dc3-460b-8794-0b54ec8b0ac8.png) + parameters: + env: + $ref: '#/components/parameters/Env' + version: + $ref: '#/components/parameters/Version' + bindings: + kafka: + replicas: 3 + partitions: 3 + topicConfiguration: + cleanup.policy: + - delete + retention.ms: 60000000 + messages: + CostingRequest: + $ref: '#/components/messages/costingRequestV1' + costingResponseChannel: + address: null + description: > + This topic is used to REPLY Costing Requests and is targeted by the + `REPLY_TOPIC` header. **You must grant PUBLISH access to our `svc-ccr-app` + service account.**. We use the + [**RecordNameStrategy**](https://docs.confluent.io/platform/current/schema-registry/serdes-develop/index.html#subject-name-strategy) + to infer the messages schema. + + Topic should follow pattern "adeo-{env}-case-study-COSTING-RESPONSE-{version}" + + You have to define + `key.subject.name.strategy` and `value.subject.name.strategy` to + `io.confluent.kafka.serializers.subject.RecordNameStrategy` in your + consumer. The schema below illustrates how Costing Response messages are + handled. + ![](https://user-images.githubusercontent.com/5501911/188920831-689cec5f-8dc3-460b-8794-0b54ec8b0ac8.png) + + bindings: + kafka: + x-key-subject-name-strategy: + type: string + description: > + We use the RecordNameStrategy to infer the messages schema. Use + `key.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` + in your consumer configuration. + x-value-subject-name-strategy: + type: string + description: > + We use the RecordNameStrategy to infer the messages schema. Use + `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` + in your consumer configuration. + tags: + - name: costing + messages: + costingResponse: + $ref: '#/components/messages/costingResponse' +operations: + receiveACostingRequest: + action: receive + channel: + $ref: '#/channels/costingRequestChannel' + reply: + channel: + $ref: '#/channels/costingResponseChannel' + address: + location: $message.header#/REPLY_TOPIC + summary: | + [COSTING] Request one or more Costing calculation for any product + description: > + You can try a costing request using our [Conduktor producer + template](https://conduktor.url/) + tags: + - name: costing + bindings: + kafka: + groupId: + type: string + description: > + The groupId must be prefixed by your `svc` account, deliver by the + Adeo Kafka team. This `svc` must have the write access to the topic. + x-value-subject-name-strategy: + type: string + description: > + We use the RecordNameStrategy to infer the messages schema. Use + `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` + in your producer configuration. + +components: + correlationIds: + costingCorrelationId: + description: > + This correlation ID is used for message tracing and messages + correlation. This correlation ID is generated at runtime based on the + `REQUEST_ID` and sent to the RESPONSE message. + location: $message.header#/REQUEST_ID + messages: + costingRequestV1: + name: CostingRequestV1 + title: Costing Request V1 + summary: Costing Request V1 inputs. + tags: + - name: costing + correlationId: + $ref: '#/components/correlationIds/costingCorrelationId' + headers: + type: object + required: + - REQUESTER_ID + - REQUESTER_CODE + - REQUEST_ID + - REPLY_TOPIC + properties: + REQUEST_ID: + $ref: '#/components/schemas/RequestId' + REPLY_TOPIC: + $ref: '#/components/schemas/ReplyTopic' + REQUESTER_ID: + $ref: '#/components/schemas/RequesterId' + REQUESTER_CODE: + $ref: '#/components/schemas/RequesterCode' + payload: + schemaFormat: application/vnd.apache.avro;version=1.9.0 + schema: + $ref: https://www.asyncapi.com/resources/casestudies/adeo/CostingRequestPayload.avsc + costingResponse: + name: CostingResponse + title: Costing Response + summary: Costing Response ouputs. + tags: + - name: costing + description: > + Please refer to the `CostingResponseKey.avsc` schema, available on [our + github project](https://github.url/). + correlationId: + $ref: '#/components/correlationIds/costingCorrelationId' + headers: + type: object + properties: + CALCULATION_ID: + $ref: '#/components/schemas/MessageId' + CORRELATION_ID: + $ref: '#/components/schemas/CorrelationId' + REQUEST_TIMESTAMP: + type: string + format: date-time + description: Timestamp of the costing request + CALCULATION_TIMESTAMP: + type: string + format: date-time + description: Technical timestamp for the costing calculation + payload: + schemaFormat: application/vnd.apache.avro;version=1.9.0 + schema: + $ref: https://www.asyncapi.com/resources/casestudies/adeo/CostingResponsePayload.avsc + schemas: + RequesterId: + type: string + description: The Costing requester service account used to produce costing request. + examples: + - svc-ecollect-app + RequesterCode: + type: string + description: >- + The Costing requester code (generally the BU Code). The requester code + is useful to get the dedicated context (tenant). + examples: + - 1 + MessageId: + type: string + format: uuid + description: A unique Message ID. + examples: + - 1fa6ef40-8f47-40a8-8cf6-f8607d0066ef + RequestId: + type: string + format: uuid + description: >- + A unique Request ID needed to define a `CORRELATION_ID` for exchanges, + which will be sent back in the Costing Responses. + examples: + - 1fa6ef40-8f47-40a8-8cf6-f8607d0066ef + CorrelationId: + type: string + format: uuid + description: >- + A unique Correlation ID defined from the `REQUEST_ID` or the + `MESSAGE_ID` provided in the Costing Request. + examples: + - 1fa6ef40-8f47-40a8-8cf6-f8607d0066ef + BuCode: + type: string + description: The Business Unit code for which data are applicable. + examples: + - 1 + ReplyTopic: + type: string + description: > + The Kafka topic where to send the Costing Response. This is required for + the [Return Address EIP + pattern](https://www.enterpriseintegrationpatterns.com/patterns/messaging/ReturnAddress.html). + **You must grant WRITE access to our `svc-ccr-app` service account.** + examples: + - adeo-case-study-COSTING-RESPONSE-V1 + ErrorStep: + type: string + description: | + The woker that has thrown the error. + examples: + - EXPOSE_RESULT + ErrorMessage: + type: string + description: | + The error message describing the error. + examples: + - Error message + ErrorCode: + type: string + description: | + The error code. + examples: + - CURRENCY_NOT_FOUND + parameters: + Env: + description: Adeo Kafka Environement for messages publications. + enum: + - dev + - sit + - uat1 + - preprod + - prod + Version: + description: the topic version you want to use + examples: + - V1 + default: V1 + securitySchemes: + sasl-ssl: + type: plain + x-sasl-jaas-config: >- + org.apache.kafka.common.security.plain.PlainLoginModule required + username="" password=""; + x-security-protocol: SASL_SSL + x-ssl-endpoint-identification-algorithm: https + x-sasl-mechanism: PLAIN + description: > + Use [SASL authentication with SSL + encryption](https://docs.confluent.io/platform/current/security/security_tutorial.html#configure-clients) + to connect to the ADEO Broker. \ No newline at end of file From 32dd46dfe86f9f812704ad93d465653d8e88a40b Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 16 Feb 2024 00:16:15 +0400 Subject: [PATCH 199/210] fix(3.0.0): ExtendableObject update property name pattern --- .../java/com/asyncapi/v3/ExtendableObject.java | 2 +- .../v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt | 14 +++++++------- .../v3.0.0/adeo-kafka-request-reply-asyncapi.yml | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java index 882258bc..f8bb988a 100644 --- a/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java +++ b/asyncapi-core/src/main/java/com/asyncapi/v3/ExtendableObject.java @@ -31,7 +31,7 @@ @JsonIgnoreProperties({"extensionFields"}) public class ExtendableObject { - private static final Pattern extensionPropertyNamePattern = Pattern.compile("^x-[\\w\\d\\-\\_]+$"); + private static final Pattern extensionPropertyNamePattern = Pattern.compile("^x-[\\w.\\x2d_]+$"); /** * Extension fields in the form x-extension-field-name for the exposed API. diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt index 86e2c7fd..f5e97ab7 100644 --- a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v3/_0_0/AdeoKafkaRequestReplyAsyncAPI.kt @@ -93,11 +93,11 @@ class AdeoKafkaRequestReplyAsyncAPI: AbstractExampleValidationTest() { override fun expectedChannels(): Map { val costingResponseChannelKafkaBinding = KafkaChannelBinding() costingResponseChannelKafkaBinding.extensionFields = mapOf( - Pair("x-key-subject-name-strategy", mapOf( + Pair("x-key.subject.name.strategy", mapOf( Pair("type", "string"), Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `key.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your consumer configuration.\n"), )), - Pair("x-value-subject-name-strategy", mapOf( + Pair("x-value.subject.name.strategy", mapOf( Pair("type", "string"), Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your consumer configuration.\n"), )) @@ -175,7 +175,7 @@ class AdeoKafkaRequestReplyAsyncAPI: AbstractExampleValidationTest() { ) .build() receiveACostingRequestKafkaBinding.extensionFields = mapOf( - Pair("x-value-subject-name-strategy", mapOf( + Pair("x-value.subject.name.strategy", mapOf( Pair("type", "string"), Pair("description", "We use the RecordNameStrategy to infer the messages schema. Use `value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your producer configuration.\n" ), @@ -213,11 +213,11 @@ class AdeoKafkaRequestReplyAsyncAPI: AbstractExampleValidationTest() { "to connect to the ADEO Broker." ) saslSslSecurityScheme.extensionFields = mapOf( - Pair("x-sasl-jaas-config", "org.apache.kafka.common.security.plain.PlainLoginModule required " + + Pair("x-sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required " + "username=\"\" password=\"\";"), - Pair("x-security-protocol", "SASL_SSL"), - Pair("x-ssl-endpoint-identification-algorithm", "https"), - Pair("x-sasl-mechanism", "PLAIN") + Pair("x-security.protocol", "SASL_SSL"), + Pair("x-ssl.endpoint.identification.algorithm", "https"), + Pair("x-sasl.mechanism", "PLAIN") ) return Components.builder() diff --git a/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml b/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml index a7e7f333..623d2f56 100644 --- a/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml +++ b/asyncapi-core/src/test/resources/examples/v3.0.0/adeo-kafka-request-reply-asyncapi.yml @@ -87,13 +87,13 @@ channels: bindings: kafka: - x-key-subject-name-strategy: + x-key.subject.name.strategy: type: string description: > We use the RecordNameStrategy to infer the messages schema. Use `key.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy` in your consumer configuration. - x-value-subject-name-strategy: + x-value.subject.name.strategy: type: string description: > We use the RecordNameStrategy to infer the messages schema. Use @@ -128,7 +128,7 @@ operations: description: > The groupId must be prefixed by your `svc` account, deliver by the Adeo Kafka team. This `svc` must have the write access to the topic. - x-value-subject-name-strategy: + x-value.subject.name.strategy: type: string description: > We use the RecordNameStrategy to infer the messages schema. Use @@ -286,12 +286,12 @@ components: securitySchemes: sasl-ssl: type: plain - x-sasl-jaas-config: >- + x-sasl.jaas.config: >- org.apache.kafka.common.security.plain.PlainLoginModule required username="" password=""; - x-security-protocol: SASL_SSL - x-ssl-endpoint-identification-algorithm: https - x-sasl-mechanism: PLAIN + x-security.protocol: SASL_SSL + x-ssl.endpoint.identification.algorithm: https + x-sasl.mechanism: PLAIN description: > Use [SASL authentication with SSL encryption](https://docs.confluent.io/platform/current/security/security_tutorial.html#configure-clients) From 6529f007080dde5fe3f94a088e0a6871253d550c Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 23 Feb 2024 02:44:02 +0400 Subject: [PATCH 200/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - AnyOf https://github.com/asyncapi/jasyncapi/issues/165 --- .../v2/_6_0/AbstractExampleValidationTest.kt | 93 +++++++++++++++++++ .../com/asyncapi/examples/v2/_6_0/AnyOf.kt | 76 +++++++++++++++ .../test/resources/examples/v2.6.0/anyof.yml | 31 +++++++ 3 files changed, 200 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AbstractExampleValidationTest.kt create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AnyOf.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/anyof.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AbstractExampleValidationTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AbstractExampleValidationTest.kt new file mode 100644 index 00000000..1b0d2119 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AbstractExampleValidationTest.kt @@ -0,0 +1,93 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v3.ClasspathUtils +import com.asyncapi.v2._6_0.model.AsyncAPI +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.fasterxml.jackson.annotation.JsonInclude +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +abstract class AbstractExampleValidationTest { + + private val objectMapper = ObjectMapper(YAMLFactory()) + .setSerializationInclusion(JsonInclude.Include.NON_NULL) + + abstract fun specificationLocation(): String + + private fun specification(): AsyncAPI { + return objectMapper.readValue( + ClasspathUtils.readAsString(specificationLocation()), + AsyncAPI::class.java + ) + } + + open fun expectedId(): String? = null + + @Test + fun `ensure that id was read correctly`() { + Assertions.assertEquals( + specification().id, + expectedId(), + "id must be read correctly" + ) + } + + open fun expectedDefaultContentType(): String? = null + + @Test + fun `ensure that defaultContentType was read correctly`() { + Assertions.assertEquals( + specification().defaultContentType, + expectedDefaultContentType(), + "defaultContentType must be read correctly" + ) + } + + abstract fun expectedInfo(): Info + + @Test + fun `ensure that info was read correctly`() { + Assertions.assertEquals( + specification().info, + expectedInfo(), + "Info must be read correctly" + ) + } + + abstract fun expectedServers(): Map? + + @Test + fun `ensure that servers were read correctly`() { + Assertions.assertEquals( + specification().servers, + expectedServers(), + "Servers must be read correctly" + ) + } + + abstract fun expectedChannels(): Map + + @Test + fun `ensure that channels were read correctly`() { + Assertions.assertEquals( + specification().channels, + expectedChannels(), + "Channels must be read correctly" + ) + } + + abstract fun expectedComponents(): Components? + + @Test + fun `ensure that components were read correctly`() { + Assertions.assertEquals( + specification().components, + expectedComponents(), + "Components must be read correctly" + ) + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AnyOf.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AnyOf.kt new file mode 100644 index 00000000..e134ce1f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/AnyOf.kt @@ -0,0 +1,76 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.schema.Schema + +class AnyOf: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/anyof.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("AnyOf example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", ChannelItem.builder() + .publish(Operation.builder() + .message(Reference("#/components/messages/testMessages")) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("testMessages", Message.builder() + .payload(Schema.builder() + .anyOf(listOf( + Schema.builder().ref("#/components/schemas/objectWithKey").build(), + Schema.builder().ref("#/components/schemas/objectWithKey2").build(), + )) + .build() + ) + .build() + ) + )) + .schemas(mapOf( + Pair("objectWithKey", Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", Schema.builder() + .type("string") + .additionalProperties(false) + .build() + ) + )) + .build() + ), + Pair("objectWithKey2", Schema.builder() + .type("object") + .properties(mapOf( + Pair("key2", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/anyof.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/anyof.yml new file mode 100644 index 00000000..a9bec1b1 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/anyof.yml @@ -0,0 +1,31 @@ +asyncapi: 2.6.0 +info: + title: AnyOf example + version: '1.0.0' + +channels: + test: + publish: + message: + $ref: '#/components/messages/testMessages' + +components: + messages: + testMessages: + payload: + anyOf: # anyOf in payload schema + - $ref: "#/components/schemas/objectWithKey" + - $ref: "#/components/schemas/objectWithKey2" + + schemas: + objectWithKey: + type: object + properties: + key: + type: string + additionalProperties: false + objectWithKey2: + type: object + properties: + key2: + type: string \ No newline at end of file From 4c0dbab3dac8178f0f34445c6658d148137f5ef1 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Fri, 23 Feb 2024 03:01:28 +0400 Subject: [PATCH 201/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Application Headers Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../examples/v2/_6_0/ApplicationHeaders.kt | 149 ++++++++++++++++++ .../examples/v2.6.0/application-headers.yml | 83 ++++++++++ 2 files changed, 232 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/ApplicationHeaders.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/application-headers.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/ApplicationHeaders.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/ApplicationHeaders.kt new file mode 100644 index 00000000..84d93287 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/ApplicationHeaders.kt @@ -0,0 +1,149 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.CorrelationId +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.info.License +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2._6_0.model.server.ServerVariable +import com.asyncapi.v2.schema.Schema +import java.math.BigDecimal + +class ApplicationHeaders: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/application-headers.yml" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Application Headers example") + .version("1.0.0") + .description("A cut of the Streetlights API to test application header changes supporting") + .license(License( + "Apache 2.0", + "https://www.apache.org/licenses/LICENSE-2.0" + )) + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("test.mosquitto.org:{port}") + .protocol("mqtt") + .description("Test broker") + .variables(mapOf( + Pair("port", ServerVariable.builder() + .description("Secure connection (TLS) is available through port 8883.") + .defaultValue("1883") + .enumValues(listOf("1883", "8883")) + .build() + ) + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured", ChannelItem.builder() + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .publish(Operation.builder() + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .operationId("receiveLightMeasurement") + .message(Reference("#/components/messages/lightMeasured")) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .correlationId(CorrelationId( + null, + "\$message.header#/MQMD/CorrelId" + )) + .contentType("application/json") + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("MQMD", Schema.builder() + .type("object") + .properties(mapOf( + Pair("CorrelId", Schema.builder() + .type("string") + .minLength(24) + .maxLength(24) + .format("binary") + .build() + ) + )) + .build() + ), + Pair("applicationInstanceId", Schema.builder() + .ref("#/components/schemas/applicationInstanceId") + .build() + ) + )) + .build() + ) + .payload(Schema.builder().ref("#/components/schemas/lightMeasuredPayload").build()) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", Schema.builder() + .ref("#/components/schemas/sentAt") + .build() + ) + )) + .build() + ), + Pair("sentAt", Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ), + Pair("applicationInstanceId", Schema.builder() + .type("string") + .description("Unique identifier for a given instance of the publishing application") + .build() + ) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder() + .description("The ID of the streetlight.") + .schema(Schema.builder().type("string").build()) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/application-headers.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/application-headers.yml new file mode 100644 index 00000000..2e13ee8f --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/application-headers.yml @@ -0,0 +1,83 @@ +asyncapi: 2.6.0 +info: + title: Application Headers example + version: '1.0.0' + description: A cut of the Streetlights API to test application header changes supporting #112 + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0 + +servers: + production: + url: test.mosquitto.org:{port} + protocol: mqtt + description: Test broker + variables: + port: + description: Secure connection (TLS) is available through port 8883. + default: '1883' + enum: + - '1883' + - '8883' + +defaultContentType: application/json + +channels: + smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured: + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + publish: + summary: Inform about environmental lighting conditions of a particular streetlight. + operationId: receiveLightMeasurement + message: + $ref: '#/components/messages/lightMeasured' + +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: Inform about environmental lighting conditions of a particular streetlight. + correlationId: + location: "$message.header#/MQMD/CorrelId" + contentType: application/json + headers: + type: object + properties: + MQMD: + type: object + properties: + CorrelId: + type: string + minLength: 24 + maxLength: 24 + format: binary + applicationInstanceId: + $ref: "#/components/schemas/applicationInstanceId" + payload: + $ref: "#/components/schemas/lightMeasuredPayload" + + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: "#/components/schemas/sentAt" + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + applicationInstanceId: + description: Unique identifier for a given instance of the publishing application + type: string + + parameters: + streetlightId: + description: The ID of the streetlight. + schema: + type: string \ No newline at end of file From a139f291f6434335ff9d820e5698711500df5ffb Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 02:05:23 +0400 Subject: [PATCH 202/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Correlation ID Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../examples/v2/_6_0/CorrelationId.kt | 230 ++++++++++++++++++ .../examples/v2.6.0/correlation-id.yml | 144 +++++++++++ 2 files changed, 374 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/CorrelationId.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/correlation-id.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/CorrelationId.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/CorrelationId.kt new file mode 100644 index 00000000..d5e8c827 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/CorrelationId.kt @@ -0,0 +1,230 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.CorrelationId +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.info.License +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2._6_0.model.server.ServerVariable +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.security_scheme.ApiKeySecurityScheme +import com.asyncapi.v2.security_scheme.OpenIdConnectSecurityScheme +import com.asyncapi.v2.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v2.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v2.security_scheme.oauth2.flow.AuthorizationCodeOAuthFlow +import com.asyncapi.v2.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow +import com.asyncapi.v2.security_scheme.oauth2.flow.ImplicitOAuthFlow +import com.asyncapi.v2.security_scheme.oauth2.flow.PasswordOAuthFlow +import java.math.BigDecimal + +class CorrelationId: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/correlation-id.yml" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Correlation ID Example") + .version("1.0.0") + .description("A cut of the Streetlights API to test Correlation ID") + .license(License( + "Apache 2.0", + "https://www.apache.org/licenses/LICENSE-2.0" + )) + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("test.mosquitto.org:{port}") + .protocol("mqtt") + .description("Test broker") + .variables(mapOf( + Pair("port", ServerVariable.builder() + .description("Secure connection (TLS) is available through port 8883.") + .defaultValue("1883") + .enumValues(listOf("1883", "8883")) + .build() + ) + )) + .security(listOf( + mapOf(Pair("apiKey", emptyList())), + mapOf(Pair("supportedOauthFlows", listOf( + "streetlights:on", "streetlights:off", "streetlights:dim" + ))), + mapOf(Pair("openIdConnectWellKnown", emptyList())), + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured", ChannelItem.builder() + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .publish(Operation.builder() + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .operationId("receiveLightMeasurement") + .message(Reference("#/components/messages/lightMeasured")) + .build() + ) + .build() + ), + Pair("smartylighting/streetlights/1/0/action/{streetlightId}/dim", ChannelItem.builder() + .parameters(mapOf( + Pair("streetlightId", Reference("#/components/parameters/streetlightId")) + )) + .subscribe(Operation.builder() + .operationId("dimLight") + .message(Reference("#/components/messages/dimLight")) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("lightMeasured", Message.builder() + .name("lightMeasured") + .title("Light measured") + .summary("Inform about environmental lighting conditions of a particular streetlight.") + .correlationId(CorrelationId( + null, + "\$message.header#/MQMD/CorrelId" + )) + .contentType("application/json") + .payload(Schema.builder().ref("#/components/schemas/lightMeasuredPayload").build()) + .build() + ), + Pair("dimLight", Message.builder() + .name("dimLight") + .title("Dim light") + .summary("Command a particular streetlight to dim the lights.") + .correlationId(Reference("#/components/correlationIds/sentAtCorrelator")) + .payload(Schema.builder().ref("#/components/schemas/dimLightPayload").build()) + .build() + ) + )) + .schemas(mapOf( + Pair("lightMeasuredPayload", Schema.builder() + .type("object") + .properties(mapOf( + Pair("lumens", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .description("Light intensity measured in lumens.") + .build() + ), + Pair("sentAt", Schema.builder() + .ref("#/components/schemas/sentAt") + .build() + ) + )) + .build() + ), + Pair("sentAt", Schema.builder() + .type("string") + .format("date-time") + .description("Date and time when the message was sent.") + .build() + ), + Pair("dimLightPayload", Schema.builder() + .type("object") + .properties(mapOf( + Pair("percentage", Schema.builder() + .type("integer") + .minimum(BigDecimal.ZERO) + .maximum(BigDecimal.valueOf(100)) + .description("Percentage to which the light should be dimmed to.") + .build() + ), + Pair("sentAt", Schema.builder() + .ref("#/components/schemas/sentAt") + .build() + ) + )) + .build() + ) + )) + .parameters(mapOf( + Pair("streetlightId", Parameter.builder() + .description("The ID of the streetlight.") + .schema(Schema.builder().type("string").build()) + .build() + ) + )) + .correlationIds(mapOf( + Pair("sentAtCorrelator", CorrelationId( + "Data from message payload used as correlation ID", + "\$message.payload#/sentAt" + )) + )) + .securitySchemes(mapOf( + Pair("apiKey", ApiKeySecurityScheme( + "Provide your API key as the user and leave the password empty.", + ApiKeySecurityScheme.ApiKeyLocation.USER + )), + Pair("supportedOauthFlows", OAuth2SecurityScheme( + "Flows to support OAuth 2.0", + OAuthFlows( + ImplicitOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth", + ), + PasswordOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token", + ), + ClientCredentialsOAuthFlow( + "", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/token", + ), + AuthorizationCodeOAuthFlow( + "https://authserver.example/refresh", + mapOf( + Pair("streetlights:on", "Ability to switch lights on"), + Pair("streetlights:off", "Ability to switch lights off"), + Pair("streetlights:dim", "Ability to dim the lights"), + ), + "https://authserver.example/auth", + "https://authserver.example/token", + ) + ) + )), + Pair("openIdConnectWellKnown", OpenIdConnectSecurityScheme( + null, + "https://authserver.example/.well-known" + )) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/correlation-id.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/correlation-id.yml new file mode 100644 index 00000000..13a292f5 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/correlation-id.yml @@ -0,0 +1,144 @@ +asyncapi: "2.6.0" +info: + title: Correlation ID Example + version: '1.0.0' + description: A cut of the Streetlights API to test Correlation ID + license: + name: Apache 2.0 + url: https://www.apache.org/licenses/LICENSE-2.0 + +servers: + production: + url: test.mosquitto.org:{port} + protocol: mqtt + description: Test broker + variables: + port: + description: Secure connection (TLS) is available through port 8883. + default: '1883' + enum: + - '1883' + - '8883' + security: + - apiKey: [] + - supportedOauthFlows: + - streetlights:on + - streetlights:off + - streetlights:dim + - openIdConnectWellKnown: [] + +defaultContentType: application/json + +channels: + smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured: + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + publish: + summary: Inform about environmental lighting conditions of a particular streetlight. + operationId: receiveLightMeasurement + message: + $ref: '#/components/messages/lightMeasured' + + smartylighting/streetlights/1/0/action/{streetlightId}/dim: + parameters: + streetlightId: + $ref: '#/components/parameters/streetlightId' + subscribe: + operationId: dimLight + message: + $ref: '#/components/messages/dimLight' + +components: + messages: + lightMeasured: + name: lightMeasured + title: Light measured + summary: Inform about environmental lighting conditions of a particular streetlight. + correlationId: + location: "$message.header#/MQMD/CorrelId" + contentType: application/json + payload: + $ref: "#/components/schemas/lightMeasuredPayload" + dimLight: + name: dimLight + title: Dim light + summary: Command a particular streetlight to dim the lights. + correlationId: + $ref: "#/components/correlationIds/sentAtCorrelator" + payload: + $ref: "#/components/schemas/dimLightPayload" + + schemas: + lightMeasuredPayload: + type: object + properties: + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + $ref: "#/components/schemas/sentAt" + dimLightPayload: + type: object + properties: + percentage: + type: integer + description: Percentage to which the light should be dimmed to. + minimum: 0 + maximum: 100 + sentAt: + $ref: "#/components/schemas/sentAt" + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. + + parameters: + streetlightId: + description: The ID of the streetlight. + schema: + type: string + + correlationIds: + sentAtCorrelator: + description: Data from message payload used as correlation ID + location: $message.payload#/sentAt + securitySchemes: + apiKey: + type: apiKey + in: user + description: Provide your API key as the user and leave the password empty. + supportedOauthFlows: + type: oauth2 + description: Flows to support OAuth 2.0 + flows: + implicit: + authorizationUrl: 'https://authserver.example/auth' + scopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + password: + tokenUrl: 'https://authserver.example/token' + scopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + clientCredentials: + tokenUrl: 'https://authserver.example/token' + scopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + authorizationCode: + authorizationUrl: 'https://authserver.example/auth' + tokenUrl: 'https://authserver.example/token' + refreshUrl: 'https://authserver.example/refresh' + scopes: + 'streetlights:on': Ability to switch lights on + 'streetlights:off': Ability to switch lights off + 'streetlights:dim': Ability to dim the lights + openIdConnectWellKnown: + type: openIdConnect + openIdConnectUrl: 'https://authserver.example/.well-known' \ No newline at end of file From c6f769e192004e8de09f8e32a96dac09fe7a6511 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 15:20:57 +0400 Subject: [PATCH 203/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Gitter Streaming API Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../examples/v2/_6_0/GitterStreaming.kt | 295 ++++++++++++++++++ .../examples/v2.6.0/gitter-streaming.yml | 169 ++++++++++ 2 files changed, 464 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/GitterStreaming.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/gitter-streaming.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/GitterStreaming.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/GitterStreaming.kt new file mode 100644 index 00000000..97849dce --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/GitterStreaming.kt @@ -0,0 +1,295 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.message.OneOfMessages +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2.binding.message.http.HTTPMessageBinding +import com.asyncapi.v2.binding.operation.http.HTTPOperationBinding +import com.asyncapi.v2.binding.operation.http.HTTPOperationType +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.security_scheme.http.HttpSecurityScheme + +class GitterStreaming: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/gitter-streaming.yml" + + override fun expectedId(): String = "tag:stream.gitter.im,2022:api" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Gitter Streaming API") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("https://stream.gitter.im/v1") + .protocol("https") + .protocolVersion("1.1") + .security(listOf( + mapOf(Pair("httpBearerToken", emptyList())), + )) + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("/rooms/{roomId}/{resource}", ChannelItem.builder() + .parameters(mapOf( + Pair("roomId", Parameter.builder() + .description("Id of the Gitter room.") + .schema(Schema.builder() + .type("string") + .examples(listOf("53307860c3599d1de448e19d")) + .build() + ) + .build() + ), + Pair("resource", Parameter.builder() + .description("The resource to consume.") + .schema(Schema.builder() + .type("string") + .enumValue(listOf("chatMessages", "events")) + .build() + ) + .build() + ) + )) + .subscribe(Operation.builder() + .bindings(mapOf( + Pair("http", HTTPOperationBinding.builder() + .type(HTTPOperationType.RESPONSE) + .build() + ) + )) + .message(OneOfMessages(listOf( + Reference("#/components/messages/chatMessage"), + Reference("#/components/messages/heartbeat") + ))) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .securitySchemes(mapOf( + Pair("httpBearerToken", HttpSecurityScheme( + null, + "bearer", + null, + )) + )) + .messages(mapOf( + Pair("chatMessage", Message.builder() + .schemaFormat("application/schema+yaml;version=draft-07") + .summary("A message represents an individual chat message sent to a room. They are a sub-resource of a room.") + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .description("ID of the message.") + .build() + ), + Pair("text", Schema.builder() + .type("string") + .description("Original message in plain-text/markdown.") + .build() + ), + Pair("html", Schema.builder() + .type("string") + .description("HTML formatted message.") + .build() + ), + Pair("sent", Schema.builder() + .type("string") + .format("date-time") + .description("ISO formatted date of the message.") + .build() + ), + Pair("fromUser", Schema.builder() + .type("object") + .description("User that sent the message.") + .properties(mapOf( + Pair("id", Schema.builder() + .type("string") + .description("Gitter User ID.") + .build() + ), + Pair("username", Schema.builder() + .type("string") + .description("Gitter/GitHub username.") + .build() + ), + Pair("displayName", Schema.builder() + .type("string") + .description("Gitter/GitHub user real name.") + .build() + ), + Pair("url", Schema.builder() + .type("string") + .description("Path to the user on Gitter.") + .build() + ), + Pair("avatarUrl", Schema.builder() + .type("string") + .format("uri") + .description("User avatar URI.") + .build() + ), + Pair("avatarUrlSmall", Schema.builder() + .type("string") + .format("uri") + .description("User avatar URI (small).") + .build() + ), + Pair("avatarUrlMedium", Schema.builder() + .type("string") + .format("uri") + .description("User avatar URI (medium).") + .build() + ), + Pair("v", Schema.builder() + .type("number") + .description("Version.") + .build() + ), + Pair("gv", Schema.builder() + .type("string") + .description("Stands for \"Gravatar version\" and is used for cache busting.") + .build() + ) + )) + .build() + ), + Pair("unread", Schema.builder() + .type("boolean") + .description("Boolean that indicates if the current user has read the message.") + .build() + ), + Pair("readBy", Schema.builder() + .type("number") + .description("Number of users that have read the message.") + .build() + ), + Pair("urls", Schema.builder() + .type("array") + .description("List of URLs present in the message.") + .items(Schema.builder() + .type("string") + .format("uri") + .build()) + .build() + ), + Pair("mentions", Schema.builder() + .type("array") + .description("List of @Mentions in the message.") + .items(Schema.builder() + .type("object") + .properties(mapOf( + Pair("screenName", Schema.builder() + .type("string") + .build() + ), + Pair("userId", Schema.builder() + .type("string") + .build() + ), + Pair("userIds", Schema.builder() + .type("array") + .items(Schema.builder() + .type("string") + .build()) + .build() + ) + )) + .build()) + .build() + ), + Pair("issues", Schema.builder() + .type("array") + .description("List of #Issues referenced in the message.") + .items(Schema.builder() + .type("object") + .properties(mapOf( + Pair("number", Schema.builder().type("string").build()) + )) + .build()) + .build() + ), + Pair("meta", Schema.builder() + .type("array") + .description("Metadata. This is currently not used for anything.") + .items(Schema.builder().build()) + .build() + ), + Pair("v", Schema.builder() + .type("number") + .description("Version.") + .build() + ), + Pair("gv", Schema.builder() + .type("string") + .description("Stands for \"Gravatar version\" and is used for cache busting.") + .build() + ), + )) + .build() + ) + .bindings(mapOf( + Pair("http", Reference("#/components/messageBindings/streamingHeaders")) + )) + .build() + ), + Pair("heartbeat", Message.builder() + .schemaFormat("application/schema+yaml;version=draft-07") + .summary("Its purpose is to keep the connection alive.") + .payload(Schema.builder() + .type("string") + .enumValue(listOf("\r\n")) + .build() + ) + .bindings(mapOf( + Pair("http", Reference("#/components/messageBindings/streamingHeaders")) + )) + .build() + ), + )) + .messageBindings(mapOf( + Pair("http", HTTPMessageBinding.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("Transfer-Encoding", Schema.builder() + .type("string") + .constValue("chunked") + .build() + ), + Pair("Trailer", Schema.builder() + .type("string") + .constValue("\\r\\n") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/gitter-streaming.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/gitter-streaming.yml new file mode 100644 index 00000000..335286be --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/gitter-streaming.yml @@ -0,0 +1,169 @@ +asyncapi: "2.6.0" +id: 'tag:stream.gitter.im,2022:api' +info: + title: Gitter Streaming API + version: '1.0.0' + +servers: + production: + url: https://stream.gitter.im/v1 + protocol: https + protocolVersion: '1.1' + security: + - httpBearerToken: [] + +channels: + /rooms/{roomId}/{resource}: + parameters: + roomId: + description: Id of the Gitter room. + schema: + type: string + examples: + - 53307860c3599d1de448e19d + resource: + description: The resource to consume. + schema: + type: string + enum: + - chatMessages + - events + subscribe: + bindings: + http: + type: response + message: + oneOf: + - $ref: '#/components/messages/chatMessage' + - $ref: '#/components/messages/heartbeat' + +components: + securitySchemes: + httpBearerToken: + type: http + scheme: bearer + messages: + chatMessage: + schemaFormat: 'application/schema+yaml;version=draft-07' + summary: >- + A message represents an individual chat message sent to a room. + They are a sub-resource of a room. + payload: + type: object + properties: + id: + type: string + description: ID of the message. + text: + type: string + description: Original message in plain-text/markdown. + html: + type: string + description: HTML formatted message. + sent: + type: string + format: date-time + description: ISO formatted date of the message. + fromUser: + type: object + description: User that sent the message. + properties: + id: + type: string + description: Gitter User ID. + username: + type: string + description: Gitter/GitHub username. + displayName: + type: string + description: Gitter/GitHub user real name. + url: + type: string + description: Path to the user on Gitter. + avatarUrl: + type: string + format: uri + description: User avatar URI. + avatarUrlSmall: + type: string + format: uri + description: User avatar URI (small). + avatarUrlMedium: + type: string + format: uri + description: User avatar URI (medium). + v: + type: number + description: Version. + gv: + type: string + description: Stands for "Gravatar version" and is used for cache busting. + unread: + type: boolean + description: Boolean that indicates if the current user has read the message. + readBy: + type: number + description: Number of users that have read the message. + urls: + type: array + description: List of URLs present in the message. + items: + type: string + format: uri + mentions: + type: array + description: List of @Mentions in the message. + items: + type: object + properties: + screenName: + type: string + userId: + type: string + userIds: + type: array + items: + type: string + issues: + type: array + description: 'List of #Issues referenced in the message.' + items: + type: object + properties: + number: + type: string + meta: + type: array + description: Metadata. This is currently not used for anything. + items: {} + v: + type: number + description: Version. + gv: + type: string + description: Stands for "Gravatar version" and is used for cache busting. + bindings: + http: + $ref: '#/components/messageBindings/streamingHeaders' + + heartbeat: + schemaFormat: 'application/schema+yaml;version=draft-07' + summary: Its purpose is to keep the connection alive. + payload: + type: string + enum: ["\r\n"] + bindings: + http: + $ref: '#/components/messageBindings/streamingHeaders' + + messageBindings: + http: + headers: + type: object + properties: + 'Transfer-Encoding': + type: string + const: 'chunked' + Trailer: + type: string + const: '\r\n' \ No newline at end of file From 143ea24c7f4c97cdd8f8c2e1da858dbebb785dac Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 15:35:13 +0400 Subject: [PATCH 204/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Mercure Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../com/asyncapi/examples/v2/_6_0/Mercure.kt | 112 ++++++++++++++++++ .../resources/examples/v2.6.0/mercure.yml | 49 ++++++++ 2 files changed, 161 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Mercure.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/mercure.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Mercure.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Mercure.kt new file mode 100644 index 00000000..9bd85324 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Mercure.kt @@ -0,0 +1,112 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.ExternalDocumentation +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.message.OneOfMessages +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2.binding.message.http.HTTPMessageBinding +import com.asyncapi.v2.binding.operation.http.HTTPOperationBinding +import com.asyncapi.v2.binding.operation.http.HTTPOperationType +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.security_scheme.http.HttpSecurityScheme + +class Mercure: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/mercure.yml" + + override fun expectedDefaultContentType(): String = "application/ld+json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Mercure Hub Example") + .description("This example demonstrates how to define a Mercure hub.") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("https://demo.mercure.rocks/.well-known/mercure") + .protocol("mercure") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("https://example.com/books/{id}", ChannelItem.builder() + .description("Every time a resource of type `http://schema.org/Book` is created or modified, a JSON-LD representation of the new version of this resource must be pushed in this Mercure topic.") + .parameters(mapOf( + Pair("id", Parameter.builder() + .schema(Schema.builder() + .type("integer") + .build() + ) + .build() + ) + )) + .subscribe(Operation.builder() + .message(Reference("#/components/messages/book")) + .build() + ) + .publish(Operation.builder() + .message(Reference("#/components/messages/book")) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("book", Message.builder() + .summary("The content of a book resource.") + .externalDocs(ExternalDocumentation( + null, + "https://schema.org/Book" + )) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("@id", Schema.builder() + .type("string") + .format("iri-reference") + .build() + ), + Pair("@type", Schema.builder() + .type("string") + .format("iri-reference") + .build() + ), + Pair("name", Schema.builder() + .type("string") + .build() + ), + Pair("isbn", Schema.builder() + .type("string") + .build() + ), + Pair("abstract", Schema.builder() + .type("string") + .build() + ), + )) + .build() + ) + .build() + ), + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/mercure.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/mercure.yml new file mode 100644 index 00000000..f296c003 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/mercure.yml @@ -0,0 +1,49 @@ +asyncapi: "2.6.0" +info: + title: Mercure Hub Example + version: '1.0.0' + description: This example demonstrates how to define a Mercure hub. + +# While not mandatory, it's a best practice to use formats with hypermedia capabilities such as JSON-LD, Atom or HTML with the Mercure protocol +defaultContentType: application/ld+json + +servers: + production: + url: https://demo.mercure.rocks/.well-known/mercure + protocol: mercure + +channels: + 'https://example.com/books/{id}': + description: Every time a resource of type `http://schema.org/Book` is created or modified, a JSON-LD representation of the new version of this resource must be pushed in this Mercure topic. + parameters: + id: + schema: + type: integer + subscribe: + message: + $ref: '#/components/messages/book' + publish: + message: + $ref: '#/components/messages/book' + +components: + messages: + book: + summary: The content of a book resource. + externalDocs: + url: https://schema.org/Book + payload: + type: object + properties: + '@id': + type: string + format: iri-reference + '@type': + type: string + format: iri-reference + name: + type: string + isbn: + type: string + abstract: + type: string \ No newline at end of file From 67cb9545b2e02ab8091f3030e1247fada0d7d651 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 16:16:32 +0400 Subject: [PATCH 205/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Not Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../com/asyncapi/examples/v2/_6_0/Not.kt | 59 +++++++++++++++++++ .../test/resources/examples/v2.6.0/not.yml | 24 ++++++++ 2 files changed, 83 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Not.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/not.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Not.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Not.kt new file mode 100644 index 00000000..3a108e11 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Not.kt @@ -0,0 +1,59 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.schema.Schema + +class Not: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/not.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Not example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", ChannelItem.builder() + .publish(Operation.builder() + .message(Reference("#/components/messages/testMessages")) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("testMessages", Message.builder() + .payload(Schema.builder().ref("#/components/schemas/testSchema").build()) + .build() + ) + )) + .schemas(mapOf( + Pair("testSchema", Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", Schema.builder() + .not(Schema.builder().type("integer").build()) + .build() + ) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/not.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/not.yml new file mode 100644 index 00000000..8bca9380 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/not.yml @@ -0,0 +1,24 @@ +asyncapi: "2.6.0" +info: + title: Not example + version: '1.0.0' + +channels: + test: + publish: + message: + $ref: '#/components/messages/testMessages' + +components: + messages: + testMessages: + payload: + $ref: "#/components/schemas/testSchema" + + schemas: + testSchema: + type: object + properties: + key: + not: + type: integer \ No newline at end of file From 350b9f77195181fa55c4f67075a5a00e40817911 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 16:31:31 +0400 Subject: [PATCH 206/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - OneOf Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../com/asyncapi/examples/v2/_6_0/OneOf.kt | 98 +++++++++++++++++++ .../test/resources/examples/v2.6.0/oneof.yml | 46 +++++++++ 2 files changed, 144 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OneOf.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/oneof.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OneOf.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OneOf.kt new file mode 100644 index 00000000..36d33248 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OneOf.kt @@ -0,0 +1,98 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.message.OneOfMessages +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.schema.Schema + +class OneOf: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/oneof.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("OneOf example") + .version("1.0.0") + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("test", ChannelItem.builder() + .publish(Operation.builder() + .message(Reference("#/components/messages/testMessages")) + .build() + ) + .build() + ), + Pair("test2", ChannelItem.builder() + .subscribe(Operation.builder() + .message(OneOfMessages(listOf( + Message.builder() + .payload(Schema.builder().ref("#/components/schemas/objectWithKey").build()) + .build(), + Message.builder() + .payload(Schema.builder().ref("#/components/schemas/objectWithKey2").build()) + .build(), + ))) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("testMessages", Message.builder() + .payload(Schema.builder() + .oneOf(listOf( + Schema.builder().ref("#/components/schemas/objectWithKey").build(), + Schema.builder().ref("#/components/schemas/objectWithKey2").build() + )) + .build() + ) + .build() + ), + Pair("testMessage1", Message.builder() + .payload(Schema.builder().ref("#/components/schemas/objectWithKey").build()) + .build() + ), + Pair("testMessage2", Message.builder() + .payload(Schema.builder().ref("#/components/schemas/objectWithKey2").build()) + .build() + ) + )) + .schemas(mapOf( + Pair("objectWithKey", Schema.builder() + .type("object") + .properties(mapOf( + Pair("key", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ), + Pair("objectWithKey2", Schema.builder() + .type("object") + .properties(mapOf( + Pair("key2", Schema.builder() + .type("string") + .build() + ) + )) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/oneof.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/oneof.yml new file mode 100644 index 00000000..69e9ef8b --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/oneof.yml @@ -0,0 +1,46 @@ +asyncapi: "2.6.0" +info: + title: OneOf example + version: '1.0.0' + +channels: + test: + publish: + message: + $ref: '#/components/messages/testMessages' + + test2: + subscribe: + message: + # Use oneOf here if different messages are published on test2 topic. + oneOf: + - payload: + $ref: "#/components/schemas/objectWithKey" + - payload: + $ref: "#/components/schemas/objectWithKey2" + +components: + messages: + testMessages: + payload: + oneOf: # oneOf in payload schema + - $ref: "#/components/schemas/objectWithKey" + - $ref: "#/components/schemas/objectWithKey2" + testMessage1: + payload: + $ref: "#/components/schemas/objectWithKey" + testMessage2: + payload: + $ref: "#/components/schemas/objectWithKey2" + + schemas: + objectWithKey: + type: object + properties: + key: + type: string + objectWithKey2: + type: object + properties: + key2: + type: string \ No newline at end of file From d2983e3bdd4af4d05060d7d1cb43343079d811b3 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Sun, 25 Feb 2024 17:33:48 +0400 Subject: [PATCH 207/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Operation Security Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../examples/v2/_6_0/OperationSecurity.kt | 202 ++++++++++++++++++ .../examples/v2.6.0/operation-security.yml | 99 +++++++++ 2 files changed, 301 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OperationSecurity.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/operation-security.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OperationSecurity.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OperationSecurity.kt new file mode 100644 index 00000000..0b893a60 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/OperationSecurity.kt @@ -0,0 +1,202 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.binding.operation.http.HTTPOperationBinding +import com.asyncapi.v2.binding.operation.http.HTTPOperationMethod +import com.asyncapi.v2.binding.operation.http.HTTPOperationType +import com.asyncapi.v2.schema.Schema +import com.asyncapi.v2.security_scheme.oauth2.OAuthFlows +import com.asyncapi.v2.security_scheme.oauth2.OAuth2SecurityScheme +import com.asyncapi.v2.security_scheme.oauth2.flow.ClientCredentialsOAuthFlow + +class OperationSecurity: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/operation-security.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Notifications") + .version("1.0.0") + .description("This contract defines HTTP Push notification for application authorization revocation topic" + ) + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("AUTHORIZATION_REVOCATION", ChannelItem.builder() + .subscribe(Operation.builder() + .message(Reference("#/components/messages/message")) + .bindings(mapOf( + Pair("http", HTTPOperationBinding.builder() + .type(HTTPOperationType.REQUEST) + .method(HTTPOperationMethod.POST) + .build()) + )) + .security(listOf( + mapOf( + Pair("petstore_auth", listOf("subscribe:auth_revocations")) + ) + )) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? { + return Components.builder() + .messages(mapOf( + Pair("message", Message.builder() + .headers(Schema.builder() + .type("object") + .properties(mapOf( + Pair("X-SIGNATURE", Schema.builder() + .type("string") + .description("ECC message signature") + .build() + ) + )) + .build() + ) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("metadata", Schema.builder() + .ref("#/components/schemas/MetaData") + .build() + ), + Pair("notification", Schema.builder() + .ref("#/components/schemas/Notification") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .schemas(mapOf( + Pair("MetaData", Schema.builder() + .type("object") + .properties(mapOf( + Pair("topic", Schema.builder() + .type("string") + .description("Topic subscribed to.") + .build() + ), + Pair("schemaVersion", Schema.builder() + .type("string") + .description("The schema for this topic.") + .build() + ), + Pair("deprecated", Schema.builder() + .type("boolean") + .description("If this is a deprecated schema or topic.") + .defaultValue("false") + .build() + ) + )) + .build() + ), + Pair("Notification", Schema.builder() + .type("object") + .properties(mapOf( + Pair("notificationId", Schema.builder() + .type("string") + .description("The notification Id.") + .build() + ), + Pair("eventDate", Schema.builder() + .type("string") + .description("The event date associated with this notification in UTC.") + .build() + ), + Pair("publishDate", Schema.builder() + .type("string") + .description("The message publish date in UTC.") + .build() + ), + Pair("publishAttemptCount", Schema.builder() + .type("integer") + .description("The number of attempts made to publish this message.") + .build() + ), + Pair("publishAttemptCount", Schema.builder() + .type("integer") + .description("The number of attempts made to publish this message.") + .build() + ), + Pair("data", Schema.builder() + .ref("#/components/schemas/AuthorizationRevocationData") + .build() + ) + )) + .build() + ), + Pair("AuthorizationRevocationData", Schema.builder() + .type("object") + .description("The Authorization Revocation payload.") + .properties(mapOf( + Pair("username", Schema.builder() + .type("string") + .description("The username for the user.") + .build() + ), + Pair("userId", Schema.builder() + .type("string") + .description("The immutable public userId for the user") + .build() + ), + Pair("eiasToken", Schema.builder() + .type("string") + .description("The legacy eiasToken specific to the user") + .build() + ), + Pair("revokeReason", Schema.builder() + .type("string") + .enumValue(listOf( + "REVOKED_BY_APP", + "REVOKED_BY_USER", + "REVOKED_BY_ADMIN", + "PASSWORD_CHANGE" + )) + .description("The reason for authorization revocation") + .build() + ), + Pair("revocationDate", Schema.builder() + .type("string") + .description("Date and time when the authorization was revoked") + .build() + ) + )) + .build() + ), + )) + .securitySchemes(mapOf( + Pair("petstore_auth", OAuth2SecurityScheme( + "The oauth security descriptions", + OAuthFlows( + null, + null, + ClientCredentialsOAuthFlow( + "", + mapOf(Pair("subscribe:auth_revocations", "Scope required for authorization revocation topic")), + "https://example.com/api/oauth/dialog" + ), + null + ), + )) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/operation-security.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/operation-security.yml new file mode 100644 index 00000000..fed5e202 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/operation-security.yml @@ -0,0 +1,99 @@ +asyncapi: 2.6.0 +info: + title: Notifications + version: 1.0.0 + description: >- + This contract defines HTTP Push notification for + application authorization revocation topic +channels: + AUTHORIZATION_REVOCATION: + subscribe: + message: + $ref: '#/components/messages/message' + bindings: + http: + type: request + method: POST + security: + - petstore_auth: + - subscribe:auth_revocations +components: + messages: + message: + headers: + type: object + properties: + X-SIGNATURE: + description: ECC message signature + type: string + payload: + type: object + properties: + metadata: + $ref: '#/components/schemas/MetaData' + notification: + $ref: '#/components/schemas/Notification' + schemas: + MetaData: + type: object + properties: + topic: + type: string + description: Topic subscribed to. + schemaVersion: + type: string + description: The schema for this topic. + deprecated: + type: boolean + description: If this is a deprecated schema or topic. + default: 'false' + Notification: + type: object + properties: + notificationId: + type: string + description: The notification Id. + eventDate: + type: string + description: The event date associated with this notification in UTC. + publishDate: + type: string + description: The message publish date in UTC. + publishAttemptCount: + type: integer + description: The number of attempts made to publish this message. + data: + $ref: '#/components/schemas/AuthorizationRevocationData' + AuthorizationRevocationData: + type: object + description: The Authorization Revocation payload. + properties: + username: + type: string + description: The username for the user. + userId: + type: string + description: The immutable public userId for the user + eiasToken: + type: string + description: The legacy eiasToken specific to the user + revokeReason: + type: string + enum: + - REVOKED_BY_APP + - REVOKED_BY_USER + - REVOKED_BY_ADMIN + - PASSWORD_CHANGE + description: The reason for authorization revocation + revocationDate: + type: string + description: Date and time when the authorization was revoked + securitySchemes: + petstore_auth: + type: oauth2 + description: The oauth security descriptions + flows: + clientCredentials: + tokenUrl: 'https://example.com/api/oauth/dialog' + scopes: + subscribe:auth_revocations: Scope required for authorization revocation topic \ No newline at end of file From 50f0609471421ae47da11f88349610c84769afa8 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 26 Feb 2024 04:01:09 +0400 Subject: [PATCH 208/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - RPC Client Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../asyncapi/examples/v2/_6_0/RpcClient.kt | 135 ++++++++++++++++++ .../resources/examples/v2.6.0/rpc-client.yml | 65 +++++++++ 2 files changed, 200 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcClient.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/rpc-client.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcClient.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcClient.kt new file mode 100644 index 00000000..07c4586f --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcClient.kt @@ -0,0 +1,135 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.CorrelationId +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2.binding.channel.amqp.AMQPChannelBinding +import com.asyncapi.v2.binding.channel.amqp.AMQPChannelType +import com.asyncapi.v2.binding.channel.amqp.queue.AMQPChannelQueueProperties +import com.asyncapi.v2.binding.operation.amqp.AMQPOperationBinding +import com.asyncapi.v2.schema.Schema + +class RpcClient: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/rpc-client.yml" + + override fun expectedId(): String = "urn:example:rpcclient" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("RPC Client Example") + .version("1.0.0") + .description("This example demonstrates how to define an RPC client." + ) + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("rabbitmq.example.org") + .protocol("amqp") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("{queue}", ChannelItem.builder() + .parameters(mapOf( + Pair("queue", Parameter.builder() + .schema(Schema.builder() + .type("string") + .pattern("^amq\\\\.gen\\\\-.+\$") + .build()) + .build() + ), + )) + .bindings(mapOf( + Pair("amqp", AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .exclusive(true) + .build() + ) + .build() + ) + )) + .publish(Operation.builder() + .operationId("receiveSumResult") + .bindings(mapOf( + Pair("amqp", AMQPOperationBinding.builder() + .ack(false) + .build() + ) + )) + .message(Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("result", Schema.builder() + .type("number") + .examples(listOf(7)) + .build()) + )) + .build() + ) + .build() + ) + .build() + ) + .build() + ), + Pair("rpc_queue", ChannelItem.builder() + .bindings(mapOf( + Pair("amqp", AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .durable(false) + .build() + ) + .build() + ) + )) + .subscribe(Operation.builder() + .operationId("requestSum") + .bindings(mapOf( + Pair("amqp", AMQPOperationBinding.builder() + .ack(true) + .build() + ) + )) + .message(Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("numbers", Schema.builder() + .type("array") + .items(Schema.builder().type("number").build()) + .examples(listOf(listOf(4, 3))) + .build()) + )) + .build() + ) + .build() + ) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? = null + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-client.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-client.yml new file mode 100644 index 00000000..c494ab50 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-client.yml @@ -0,0 +1,65 @@ +asyncapi: "2.6.0" +id: 'urn:example:rpcclient' +defaultContentType: application/json + +info: + title: RPC Client Example + description: This example demonstrates how to define an RPC client. + version: '1.0.0' + +servers: + production: + url: rabbitmq.example.org + protocol: amqp + +channels: + '{queue}': + parameters: + queue: + schema: + type: string + pattern: '^amq\\.gen\\-.+$' + bindings: + amqp: + is: queue + queue: + exclusive: true + publish: + operationId: receiveSumResult + bindings: + amqp: + ack: false + message: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + result: + type: number + examples: + - 7 + + rpc_queue: + bindings: + amqp: + is: queue + queue: + durable: false + subscribe: + operationId: requestSum + bindings: + amqp: + ack: true + message: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + numbers: + type: array + items: + type: number + examples: + - [4,3] \ No newline at end of file From 68437144aca6dcb70f19bdeefbb0e3ffaff5dae9 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 26 Feb 2024 04:05:40 +0400 Subject: [PATCH 209/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - RPC Server Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../asyncapi/examples/v2/_6_0/RpcServer.kt | 129 ++++++++++++++++++ .../resources/examples/v2.6.0/rpc-server.yml | 62 +++++++++ 2 files changed, 191 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcServer.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/rpc-server.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcServer.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcServer.kt new file mode 100644 index 00000000..95fa19f1 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/RpcServer.kt @@ -0,0 +1,129 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.Parameter +import com.asyncapi.v2._6_0.model.channel.message.CorrelationId +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2._6_0.model.server.Server +import com.asyncapi.v2.binding.channel.amqp.AMQPChannelBinding +import com.asyncapi.v2.binding.channel.amqp.AMQPChannelType +import com.asyncapi.v2.binding.channel.amqp.queue.AMQPChannelQueueProperties +import com.asyncapi.v2.binding.operation.amqp.AMQPOperationBinding +import com.asyncapi.v2.schema.Schema + +class RpcServer: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/rpc-server.yml" + + override fun expectedId(): String = "urn:example:rpcserver" + + override fun expectedDefaultContentType(): String = "application/json" + + override fun expectedInfo(): Info { + return Info.builder() + .title("RPC Server Example") + .version("1.0.0") + .description("This example demonstrates how to define an RPC server." + ) + .build() + } + + override fun expectedServers(): Map { + return mapOf( + Pair("production", Server.builder() + .url("rabbitmq.example.org") + .protocol("amqp") + .build() + ) + ) + } + + override fun expectedChannels(): Map { + return mapOf( + Pair("{queue}", ChannelItem.builder() + .parameters(mapOf( + Pair("queue", Parameter.builder() + .schema(Schema.builder() + .type("string") + .pattern("^amq\\\\.gen\\\\-.+\$") + .build()) + .build() + ), + )) + .bindings(mapOf( + Pair("amqp", AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .exclusive(true) + .build() + ) + .build() + ) + )) + .subscribe(Operation.builder() + .operationId("sendSumResult") + .bindings(mapOf( + Pair("amqp", AMQPOperationBinding.builder() + .ack(true) + .build() + ) + )) + .message(Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("result", Schema.builder() + .type("number") + .examples(listOf(7)) + .build()) + )) + .build() + ) + .build() + ) + .build() + ) + .build() + ), + Pair("rpc_queue", ChannelItem.builder() + .bindings(mapOf( + Pair("amqp", AMQPChannelBinding.builder() + .`is`(AMQPChannelType.QUEUE) + .queue(AMQPChannelQueueProperties.builder() + .durable(false) + .build() + ) + .build() + ) + )) + .publish(Operation.builder() + .operationId("sum") + .message(Message.builder() + .correlationId(CorrelationId(null, "\$message.header#/correlation_id")) + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("numbers", Schema.builder() + .type("array") + .items(Schema.builder().type("number").build()) + .examples(listOf(listOf(4, 3))) + .build()) + )) + .build() + ) + .build() + ) + .build() + ) + .build() + ) + ) + } + + override fun expectedComponents(): Components? = null + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-server.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-server.yml new file mode 100644 index 00000000..1f24a642 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/rpc-server.yml @@ -0,0 +1,62 @@ +asyncapi: "2.6.0" +id: 'urn:example:rpcserver' +defaultContentType: application/json + +info: + title: RPC Server Example + description: This example demonstrates how to define an RPC server. + version: '1.0.0' + +servers: + production: + url: rabbitmq.example.org + protocol: amqp + +channels: + '{queue}': + parameters: + queue: + schema: + type: string + pattern: '^amq\\.gen\\-.+$' + bindings: + amqp: + is: queue + queue: + exclusive: true + subscribe: + operationId: sendSumResult + bindings: + amqp: + ack: true + message: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + result: + type: number + examples: + - 7 + + rpc_queue: + bindings: + amqp: + is: queue + queue: + durable: false + publish: + operationId: sum + message: + correlationId: + location: $message.header#/correlation_id + payload: + type: object + properties: + numbers: + type: array + items: + type: number + examples: + - [4,3] \ No newline at end of file From 77472da207120fc6be7b0080c1ee5e1e300ca576 Mon Sep 17 00:00:00 2001 From: Pavel Bodiachevskii Date: Mon, 26 Feb 2024 04:11:43 +0400 Subject: [PATCH 210/210] test(2.6.0): check correctness of realisation by reading AsyncAPI example - Simple Example https://github.com/asyncapi/jasyncapi/issues/165 --- .../com/asyncapi/examples/v2/_6_0/Simple.kt | 64 +++++++++++++++++++ .../test/resources/examples/v2.6.0/simple.yml | 23 +++++++ 2 files changed, 87 insertions(+) create mode 100644 asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt create mode 100644 asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt new file mode 100644 index 00000000..c5254350 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt @@ -0,0 +1,64 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.schema.Schema + +class Simple: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/simple.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Account Service") + .version("1.0.0") + .description("This service is in charge of processing user signups") + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("user/signedup", ChannelItem.builder() + .subscribe(Operation.builder() + .message(Reference("#/components/messages/UserSignedUp")) + .build() + ) + .build() + ), + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("UserSignedUp", Message.builder() + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("displayName", Schema.builder() + .type("string") + .description("Name of the user") + .build() + ), + Pair("email", Schema.builder() + .type("string") + .format("email") + .description("Email of the user") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml new file mode 100644 index 00000000..c70cefd7 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml @@ -0,0 +1,23 @@ +asyncapi: "2.6.0" +info: + title: Account Service + version: 1.0.0 + description: This service is in charge of processing user signups +channels: + user/signedup: + subscribe: + message: + $ref: '#/components/messages/UserSignedUp' +components: + messages: + UserSignedUp: + payload: + type: object + properties: + displayName: + type: string + description: Name of the user + email: + type: string + format: email + description: Email of the user \ No newline at end of file