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  }