cuelang.org/go@v0.10.1/encoding/openapi/testdata/openapi.json (about) 1 { 2 "openapi": "3.0.0", 3 "info": { 4 "contact": { 5 "url": "https://cuelang.org", 6 "name": "John Doe" 7 }, 8 "title": "An OpenAPI testing package.", 9 "version": "v1beta2" 10 }, 11 "paths": {}, 12 "components": { 13 "schemas": { 14 "DefaultStruct": { 15 "type": "object", 16 "default": { 17 "port": 1 18 }, 19 "oneOf": [ 20 { 21 "$ref": "#/components/schemas/Port" 22 }, 23 { 24 "required": [ 25 "port" 26 ], 27 "properties": { 28 "port": { 29 "type": "integer", 30 "enum": [ 31 1 32 ] 33 } 34 } 35 } 36 ] 37 }, 38 "Enum": { 39 "type": "string", 40 "enum": [ 41 "foo", 42 "bar", 43 "baz" 44 ] 45 }, 46 "Int32": { 47 "type": "integer", 48 "format": "int32" 49 }, 50 "List": { 51 "type": "array", 52 "items": { 53 "type": "number" 54 }, 55 "default": [ 56 1, 57 2, 58 3 59 ] 60 }, 61 "Msg2": { 62 "type": "object", 63 "oneOf": [ 64 { 65 "required": [ 66 "b" 67 ], 68 "properties": { 69 "b": { 70 "type": "number" 71 } 72 } 73 }, 74 { 75 "required": [ 76 "a" 77 ], 78 "properties": { 79 "a": { 80 "type": "string" 81 } 82 } 83 } 84 ] 85 }, 86 "MyMessage": { 87 "description": "MyMessage is my message.", 88 "type": "object", 89 "required": [ 90 "foo", 91 "bar" 92 ], 93 "properties": { 94 "port": { 95 "type": "object", 96 "$ref": "#/components/schemas/Port" 97 }, 98 "foo": { 99 "type": "integer", 100 "allOf": [ 101 { 102 "$ref": "#/components/schemas/Int32" 103 }, 104 { 105 "exclusiveMinimum": true, 106 "minimum": 10, 107 "exclusiveMaximum": true, 108 "maximum": 1000 109 } 110 ] 111 }, 112 "bar": { 113 "type": "array", 114 "items": { 115 "type": "string" 116 } 117 } 118 }, 119 "oneOf": [ 120 { 121 "required": [ 122 "a" 123 ], 124 "properties": { 125 "a": { 126 "description": "Field a.", 127 "type": "integer", 128 "enum": [ 129 1 130 ] 131 } 132 } 133 }, 134 { 135 "required": [ 136 "b" 137 ], 138 "properties": { 139 "b": { 140 "type": "string" 141 } 142 } 143 } 144 ] 145 }, 146 "Port": { 147 "type": "object", 148 "required": [ 149 "port", 150 "obj" 151 ], 152 "properties": { 153 "port": { 154 "type": "integer" 155 }, 156 "obj": { 157 "type": "array", 158 "items": { 159 "type": "integer" 160 } 161 } 162 } 163 }, 164 "YourMessage": { 165 "type": "object", 166 "properties": { 167 "a": { 168 "type": "string" 169 } 170 }, 171 "oneOf": [ 172 { 173 "required": [ 174 "a" 175 ], 176 "properties": { 177 "a": { 178 "type": "number" 179 } 180 } 181 }, 182 { 183 "required": [ 184 "b" 185 ], 186 "properties": { 187 "b": { 188 "type": "string" 189 } 190 } 191 }, 192 { 193 "required": [ 194 "b" 195 ], 196 "properties": { 197 "b": { 198 "type": "number" 199 } 200 } 201 } 202 ] 203 }, 204 "YourMessage2": { 205 "type": "object", 206 "allOf": [ 207 { 208 "oneOf": [ 209 { 210 "required": [ 211 "a" 212 ], 213 "properties": { 214 "a": { 215 "type": "number" 216 } 217 } 218 }, 219 { 220 "required": [ 221 "b" 222 ], 223 "properties": { 224 "b": { 225 "type": "number" 226 } 227 } 228 } 229 ] 230 }, 231 { 232 "oneOf": [ 233 { 234 "required": [ 235 "c" 236 ], 237 "properties": { 238 "c": { 239 "type": "number" 240 } 241 } 242 }, 243 { 244 "required": [ 245 "d" 246 ], 247 "properties": { 248 "d": { 249 "type": "number" 250 } 251 } 252 } 253 ] 254 }, 255 { 256 "oneOf": [ 257 { 258 "required": [ 259 "e" 260 ], 261 "properties": { 262 "e": { 263 "type": "number" 264 } 265 } 266 }, 267 { 268 "required": [ 269 "f" 270 ], 271 "properties": { 272 "f": { 273 "type": "number" 274 } 275 } 276 } 277 ] 278 } 279 ] 280 } 281 } 282 } 283 }