cuelang.org/go@v0.13.0/encoding/openapi/testdata/embed-norefs.txtar (about)

     1  #ExpandReferences
     2  -- in.cue --
     3  #Foo: string
     4  
     5  #LoadBalancerSettings: {
     6  	{} | {
     7  		consistentHash: #ConsistentHashLB
     8  		b:              #Foo
     9  	}
    10  	#ConsistentHashLB: {} | {
    11  		httpHeaderName: string
    12  	}
    13  }
    14  
    15  -- out/TestGenerateOpenAPI/out.json --
    16  {
    17     "openapi": "3.0.0",
    18     "info": {
    19        "title": "Generated by cue.",
    20        "version": "no version"
    21     },
    22     "paths": {},
    23     "components": {
    24        "schemas": {
    25           "Foo": {
    26              "type": "string"
    27           },
    28           "LoadBalancerSettings": {
    29              "type": "object",
    30              "properties": {
    31                 "consistentHash": {
    32                    "type": "object",
    33                    "properties": {
    34                       "httpHeaderName": {
    35                          "type": "string"
    36                       }
    37                    }
    38                 },
    39                 "b": {
    40                    "type": "string"
    41                 }
    42              },
    43              "oneOf": [
    44                 {
    45                    "not": {
    46                       "anyOf": [
    47                          {
    48                             "required": [
    49                                "consistentHash",
    50                                "b"
    51                             ],
    52                             "properties": {
    53                                "consistentHash": {
    54                                   "oneOf": [
    55                                      {
    56                                         "not": {
    57                                            "anyOf": [
    58                                               {
    59                                                  "required": [
    60                                                     "httpHeaderName"
    61                                                  ]
    62                                               }
    63                                            ]
    64                                         }
    65                                      },
    66                                      {
    67                                         "required": [
    68                                            "httpHeaderName"
    69                                         ]
    70                                      }
    71                                   ]
    72                                }
    73                             }
    74                          }
    75                       ]
    76                    }
    77                 },
    78                 {
    79                    "required": [
    80                       "consistentHash",
    81                       "b"
    82                    ],
    83                    "properties": {
    84                       "consistentHash": {
    85                          "oneOf": [
    86                             {
    87                                "not": {
    88                                   "anyOf": [
    89                                      {
    90                                         "required": [
    91                                            "httpHeaderName"
    92                                         ]
    93                                      }
    94                                   ]
    95                                }
    96                             },
    97                             {
    98                                "required": [
    99                                   "httpHeaderName"
   100                                ]
   101                             }
   102                          ]
   103                       }
   104                    }
   105                 }
   106              ]
   107           },
   108           "LoadBalancerSettings.ConsistentHashLB": {
   109              "type": "object",
   110              "properties": {
   111                 "httpHeaderName": {
   112                    "type": "string"
   113                 }
   114              },
   115              "oneOf": [
   116                 {
   117                    "not": {
   118                       "anyOf": [
   119                          {
   120                             "required": [
   121                                "httpHeaderName"
   122                             ]
   123                          }
   124                       ]
   125                    }
   126                 },
   127                 {
   128                    "required": [
   129                       "httpHeaderName"
   130                    ]
   131                 }
   132              ]
   133           }
   134        }
   135     }
   136  }