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 }