blob: 50bcf831d7efbe0bbacee2fb2c2dcf348a5862f3 [file] [log] [blame]
{
"openapi": "3.0.0",
"info": {
"contact": {
"name": "John Doe",
"url": "https://cuelang.org"
},
"title": "An OpenAPI testing package.",
"version": "v1beta2"
},
"paths": {},
"components": {
"schemas": {
"DefaultStruct": {
"type": "object",
"default": {
"port": 1
},
"oneOf": [
{
"$ref": "#/components/schemas/Port"
},
{
"required": [
"port"
],
"properties": {
"port": {
"type": "integer",
"enum": [
1
]
}
}
}
]
},
"Enum": {
"type": "string",
"enum": [
"foo",
"bar",
"baz"
]
},
"Int32": {
"type": "integer",
"format": "int32"
},
"List": {
"type": "array",
"items": {
"type": "number"
},
"default": [
1,
2,
3
]
},
"Msg2": {
"type": "object",
"oneOf": [
{
"required": [
"b"
],
"properties": {
"b": {
"type": "number"
}
}
},
{
"required": [
"a"
],
"properties": {
"a": {
"type": "string"
}
}
}
]
},
"MyMessage": {
"description": "MyMessage is my message.",
"type": "object",
"required": [
"foo",
"bar"
],
"properties": {
"port": {
"type": "object",
"$ref": "#/components/schemas/Port"
},
"foo": {
"type": "number",
"allOf": [
{
"$ref": "#/components/schemas/Int32"
},
{
"exclusiveMinimum": true,
"minimum": 10,
"exclusiveMaximum": true,
"maximum": 1000
}
]
},
"bar": {
"type": "array",
"items": {
"type": "string"
}
}
},
"oneOf": [
{
"required": [
"a"
],
"properties": {
"a": {
"description": "Field a.",
"type": "integer",
"enum": [
1
]
}
}
},
{
"required": [
"b"
],
"properties": {
"b": {
"type": "string"
}
}
}
]
},
"Port": {
"type": "object",
"required": [
"port",
"obj"
],
"properties": {
"port": {
"type": "integer"
},
"obj": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"YourMessage": {
"type": "object",
"properties": {
"a": {
"type": "string"
}
},
"oneOf": [
{
"required": [
"a"
],
"properties": {
"a": {
"type": "number"
}
}
},
{
"required": [
"b"
],
"properties": {
"b": {
"type": "string"
}
}
},
{
"required": [
"b"
],
"properties": {
"b": {
"type": "number"
}
}
}
]
},
"YourMessage2": {
"type": "object",
"allOf": [
{
"oneOf": [
{
"required": [
"a"
],
"properties": {
"a": {
"type": "number"
}
}
},
{
"required": [
"b"
],
"properties": {
"b": {
"type": "number"
}
}
}
]
},
{
"oneOf": [
{
"required": [
"c"
],
"properties": {
"c": {
"type": "number"
}
}
},
{
"required": [
"d"
],
"properties": {
"d": {
"type": "number"
}
}
}
]
},
{
"oneOf": [
{
"required": [
"e"
],
"properties": {
"e": {
"type": "number"
}
}
},
{
"required": [
"f"
],
"properties": {
"f": {
"type": "number"
}
}
}
]
}
]
}
}
}
}