github.com/solo-io/cue@v0.4.7/encoding/openapi/testdata/oneof-funcs.json (about) 1 { 2 "openapi": "3.0.0", 3 "info": { 4 "title": "test", 5 "version": "v1" 6 }, 7 "paths": {}, 8 "components": { 9 "schemas": { 10 "EMBED": { 11 "description": "Randomly picked description from a set of size one.", 12 "type": "object", 13 "properties": { 14 "a": { 15 "description": "Randomly picked description from a set of size one.", 16 "type": "integer" 17 } 18 }, 19 "allOf": [ 20 { 21 "oneOf": [ 22 { 23 "not": { 24 "anyOf": [ 25 { 26 "required": [ 27 "b" 28 ], 29 "properties": { 30 "b": { 31 "$ref": "#/components/schemas/EMBED_T" 32 } 33 } 34 }, 35 { 36 "required": [ 37 "c" 38 ], 39 "properties": { 40 "c": { 41 "description": "Randomly picked description from a set of size one.", 42 "type": "integer" 43 } 44 } 45 } 46 ] 47 } 48 }, 49 { 50 "required": [ 51 "b" 52 ], 53 "properties": { 54 "b": { 55 "$ref": "#/components/schemas/EMBED_T" 56 } 57 } 58 }, 59 { 60 "required": [ 61 "c" 62 ], 63 "properties": { 64 "c": { 65 "description": "Randomly picked description from a set of size one.", 66 "type": "integer" 67 } 68 } 69 } 70 ] 71 }, 72 { 73 "oneOf": [ 74 { 75 "not": { 76 "anyOf": [ 77 { 78 "required": [ 79 "d" 80 ], 81 "properties": { 82 "d": { 83 "$ref": "#/components/schemas/EMBED_T" 84 } 85 } 86 }, 87 { 88 "required": [ 89 "e" 90 ], 91 "properties": { 92 "e": { 93 "description": "Randomly picked description from a set of size one.", 94 "type": "integer" 95 } 96 } 97 } 98 ] 99 } 100 }, 101 { 102 "required": [ 103 "d" 104 ], 105 "properties": { 106 "d": { 107 "$ref": "#/components/schemas/EMBED_T" 108 } 109 } 110 }, 111 { 112 "required": [ 113 "e" 114 ], 115 "properties": { 116 "e": { 117 "description": "Randomly picked description from a set of size one.", 118 "type": "integer" 119 } 120 } 121 } 122 ] 123 } 124 ] 125 }, 126 "EMBED_T": { 127 "description": "Randomly picked description from a set of size one.", 128 "type": "object", 129 "properties": { 130 "b": { 131 "description": "Randomly picked description from a set of size one.", 132 "type": "integer" 133 } 134 } 135 }, 136 "FOO": { 137 "description": "Randomly picked description from a set of size one.", 138 "type": "object", 139 "required": [ 140 "include", 141 "exclude", 142 "count" 143 ], 144 "properties": { 145 "include": { 146 "$ref": "#/components/schemas/T" 147 }, 148 "exclude": { 149 "description": "Randomly picked description from a set of size one.", 150 "type": "array", 151 "items": { 152 "$ref": "#/components/schemas/T" 153 } 154 }, 155 "count": { 156 "$ref": "#/components/schemas/MYINT" 157 } 158 } 159 }, 160 "INCOMPATIBLE": { 161 "description": "Randomly picked description from a set of size one.", 162 "type": "object", 163 "oneOf": [ 164 { 165 "allOf": [ 166 { 167 "required": [ 168 "shared" 169 ], 170 "properties": { 171 "shared": { 172 "description": "Randomly picked description from a set of size one.", 173 "type": "integer" 174 } 175 } 176 }, 177 { 178 "not": { 179 "anyOf": [ 180 { 181 "required": [ 182 "shared", 183 "extra1" 184 ], 185 "properties": { 186 "shared": { 187 "description": "Randomly picked description from a set of size one.", 188 "type": "integer" 189 }, 190 "extra1": { 191 "description": "Randomly picked description from a set of size one.", 192 "type": "integer" 193 } 194 } 195 }, 196 { 197 "required": [ 198 "shared", 199 "extra2" 200 ], 201 "properties": { 202 "shared": { 203 "description": "Randomly picked description from a set of size one.", 204 "type": "integer" 205 }, 206 "extra2": { 207 "description": "Randomly picked description from a set of size one.", 208 "type": "integer" 209 } 210 } 211 } 212 ] 213 } 214 } 215 ] 216 }, 217 { 218 "required": [ 219 "shared", 220 "extra1" 221 ], 222 "properties": { 223 "shared": { 224 "description": "Randomly picked description from a set of size one.", 225 "type": "integer" 226 }, 227 "extra1": { 228 "description": "Randomly picked description from a set of size one.", 229 "type": "integer" 230 } 231 } 232 }, 233 { 234 "required": [ 235 "shared", 236 "extra2" 237 ], 238 "properties": { 239 "shared": { 240 "description": "Randomly picked description from a set of size one.", 241 "type": "integer" 242 }, 243 "extra2": { 244 "description": "Randomly picked description from a set of size one.", 245 "type": "integer" 246 } 247 } 248 } 249 ] 250 }, 251 "MYINT": { 252 "description": "Randomly picked description from a set of size one.", 253 "type": "integer" 254 }, 255 "T": { 256 "description": "Randomly picked description from a set of size one.", 257 "type": "object", 258 "properties": { 259 "shared": { 260 "description": "Randomly picked description from a set of size one.", 261 "type": "integer" 262 }, 263 "shared2": { 264 "description": "Randomly picked description from a set of size one.", 265 "type": "integer" 266 } 267 }, 268 "allOf": [ 269 { 270 "required": [ 271 "shared" 272 ], 273 "oneOf": [ 274 { 275 "not": { 276 "anyOf": [ 277 { 278 "required": [ 279 "exact" 280 ], 281 "properties": { 282 "exact": { 283 "description": "Randomly picked description from a set of size one.", 284 "type": "string" 285 } 286 } 287 }, 288 { 289 "required": [ 290 "regex" 291 ], 292 "properties": { 293 "regex": { 294 "description": "Randomly picked description from a set of size one.", 295 "type": "string" 296 } 297 } 298 } 299 ] 300 } 301 }, 302 { 303 "required": [ 304 "exact" 305 ], 306 "properties": { 307 "exact": { 308 "description": "Randomly picked description from a set of size one.", 309 "type": "string" 310 } 311 } 312 }, 313 { 314 "required": [ 315 "regex" 316 ], 317 "properties": { 318 "regex": { 319 "description": "Randomly picked description from a set of size one.", 320 "type": "string" 321 } 322 } 323 } 324 ] 325 }, 326 { 327 "oneOf": [ 328 { 329 "not": { 330 "anyOf": [ 331 { 332 "required": [ 333 "count" 334 ], 335 "properties": { 336 "count": { 337 "description": "Randomly picked description from a set of size one.", 338 "type": "integer" 339 } 340 } 341 }, 342 { 343 "required": [ 344 "amount" 345 ], 346 "properties": { 347 "amount": { 348 "description": "Randomly picked description from a set of size one.", 349 "type": "integer" 350 } 351 } 352 } 353 ] 354 } 355 }, 356 { 357 "required": [ 358 "count" 359 ], 360 "properties": { 361 "count": { 362 "description": "Randomly picked description from a set of size one.", 363 "type": "integer" 364 } 365 } 366 }, 367 { 368 "required": [ 369 "amount" 370 ], 371 "properties": { 372 "amount": { 373 "description": "Randomly picked description from a set of size one.", 374 "type": "integer" 375 } 376 } 377 } 378 ], 379 "required": [ 380 "shared2" 381 ] 382 } 383 ] 384 }, 385 "WITHMAP": { 386 "description": "Randomly picked description from a set of size one.", 387 "type": "object", 388 "oneOf": [ 389 { 390 "allOf": [ 391 { 392 "required": [ 393 "shared" 394 ], 395 "properties": { 396 "shared": { 397 "description": "Randomly picked description from a set of size one.", 398 "type": "object", 399 "additionalProperties": { 400 "description": "Randomly picked description from a set of size one.", 401 "type": "integer" 402 } 403 } 404 } 405 }, 406 { 407 "not": { 408 "anyOf": [ 409 { 410 "required": [ 411 "shared", 412 "extra" 413 ], 414 "properties": { 415 "shared": { 416 "description": "Randomly picked description from a set of size one.", 417 "type": "object", 418 "additionalProperties": { 419 "description": "Randomly picked description from a set of size one.", 420 "type": "integer" 421 } 422 }, 423 "extra": { 424 "description": "Randomly picked description from a set of size one.", 425 "type": "integer" 426 } 427 } 428 } 429 ] 430 } 431 } 432 ] 433 }, 434 { 435 "allOf": [ 436 { 437 "required": [ 438 "shared", 439 "extra" 440 ], 441 "properties": { 442 "shared": { 443 "description": "Randomly picked description from a set of size one.", 444 "type": "object", 445 "additionalProperties": { 446 "description": "Randomly picked description from a set of size one.", 447 "type": "integer" 448 } 449 }, 450 "extra": { 451 "description": "Randomly picked description from a set of size one.", 452 "type": "integer" 453 } 454 } 455 }, 456 { 457 "not": { 458 "anyOf": [ 459 { 460 "required": [ 461 "shared" 462 ], 463 "properties": { 464 "shared": { 465 "description": "Randomly picked description from a set of size one.", 466 "type": "object", 467 "additionalProperties": { 468 "description": "Randomly picked description from a set of size one.", 469 "type": "integer" 470 } 471 } 472 } 473 } 474 ] 475 } 476 } 477 ] 478 }, 479 { 480 "required": [ 481 "shared", 482 "extra" 483 ], 484 "properties": { 485 "shared": { 486 "description": "Randomly picked description from a set of size one.", 487 "type": "string" 488 }, 489 "extra": { 490 "description": "Randomly picked description from a set of size one.", 491 "type": "integer" 492 } 493 } 494 } 495 ] 496 } 497 } 498 } 499 }