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  }