1{
2 "swagger": "2.0",
3 "info": {
4 "title": "examples/internal/proto/examplepb/visibility_rule_echo_service.proto",
5 "description": "Visibility Rule Echo Service\nSimilar to echo_service.proto but with annotations to change visibility\nof services, methods, fields and enum values.\n\n`google.api.VisibilityRule` annotations are added to customize where they are generated.\nCombined with the option `visibility_restriction_selectors` overlapping rules will appear in the OpenAPI output.\nElements without `google.api.VisibilityRule` annotations will appear as usual in the generated output.\n\nThese restrictions and selectors are completely arbitrary and you can define whatever values or hierarchies you want.\nIn this example `INTERNAL`, `PREVIEW` are used, but `INTERNAL`, `ALPHA`, `BETA`, `RELEASED`, or anything else could be used if you wish.",
6 "version": "version not set"
7 },
8 "tags": [
9 {
10 "name": "VisibilityRuleEchoService"
11 }
12 ],
13 "consumes": [
14 "application/json"
15 ],
16 "produces": [
17 "application/json"
18 ],
19 "paths": {
20 "/v1/example/echo/{id}": {
21 "post": {
22 "summary": "Echo method receives a simple message and returns it.\nIt should always be visible in the open API output.",
23 "operationId": "VisibilityRuleEchoService_Echo",
24 "responses": {
25 "200": {
26 "description": "A successful response.",
27 "schema": {
28 "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
29 }
30 },
31 "default": {
32 "description": "An unexpected error response.",
33 "schema": {
34 "$ref": "#/definitions/rpcStatus"
35 }
36 }
37 },
38 "parameters": [
39 {
40 "name": "id",
41 "description": "Id represents the message identifier.",
42 "in": "path",
43 "required": true,
44 "type": "string"
45 },
46 {
47 "name": "num",
48 "in": "query",
49 "required": false,
50 "type": "string",
51 "format": "int64"
52 },
53 {
54 "name": "lineNum",
55 "in": "query",
56 "required": false,
57 "type": "string",
58 "format": "int64"
59 },
60 {
61 "name": "lang",
62 "in": "query",
63 "required": false,
64 "type": "string"
65 },
66 {
67 "name": "status.progress",
68 "in": "query",
69 "required": false,
70 "type": "string",
71 "format": "int64"
72 },
73 {
74 "name": "status.note",
75 "in": "query",
76 "required": false,
77 "type": "string"
78 },
79 {
80 "name": "status.previewField",
81 "in": "query",
82 "required": false,
83 "type": "string"
84 },
85 {
86 "name": "en",
87 "in": "query",
88 "required": false,
89 "type": "string",
90 "format": "int64"
91 },
92 {
93 "name": "no.progress",
94 "in": "query",
95 "required": false,
96 "type": "string",
97 "format": "int64"
98 },
99 {
100 "name": "no.note",
101 "in": "query",
102 "required": false,
103 "type": "string"
104 },
105 {
106 "name": "no.previewField",
107 "in": "query",
108 "required": false,
109 "type": "string"
110 },
111 {
112 "name": "previewField",
113 "in": "query",
114 "required": false,
115 "type": "string"
116 },
117 {
118 "name": "anEnum",
119 "in": "query",
120 "required": false,
121 "type": "string",
122 "enum": [
123 "VISIBILITY_ENUM_UNSPECIFIED",
124 "VISIBILITY_ENUM_VISIBLE",
125 "VISIBILITY_ENUM_PREVIEW"
126 ],
127 "default": "VISIBILITY_ENUM_UNSPECIFIED"
128 }
129 ],
130 "tags": [
131 "VisibilityRuleEchoService"
132 ]
133 }
134 },
135 "/v1/example/echo_internal_and_preview": {
136 "get": {
137 "summary": "EchoInternalAndPreview is a internal and preview API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"PREVIEW\" or \"INTERNAL\".",
138 "operationId": "VisibilityRuleEchoService_EchoInternalAndPreview",
139 "responses": {
140 "200": {
141 "description": "A successful response.",
142 "schema": {
143 "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
144 }
145 },
146 "default": {
147 "description": "An unexpected error response.",
148 "schema": {
149 "$ref": "#/definitions/rpcStatus"
150 }
151 }
152 },
153 "parameters": [
154 {
155 "name": "id",
156 "description": "Id represents the message identifier.",
157 "in": "query",
158 "required": false,
159 "type": "string"
160 },
161 {
162 "name": "num",
163 "in": "query",
164 "required": false,
165 "type": "string",
166 "format": "int64"
167 },
168 {
169 "name": "lineNum",
170 "in": "query",
171 "required": false,
172 "type": "string",
173 "format": "int64"
174 },
175 {
176 "name": "lang",
177 "in": "query",
178 "required": false,
179 "type": "string"
180 },
181 {
182 "name": "status.progress",
183 "in": "query",
184 "required": false,
185 "type": "string",
186 "format": "int64"
187 },
188 {
189 "name": "status.note",
190 "in": "query",
191 "required": false,
192 "type": "string"
193 },
194 {
195 "name": "status.previewField",
196 "in": "query",
197 "required": false,
198 "type": "string"
199 },
200 {
201 "name": "en",
202 "in": "query",
203 "required": false,
204 "type": "string",
205 "format": "int64"
206 },
207 {
208 "name": "no.progress",
209 "in": "query",
210 "required": false,
211 "type": "string",
212 "format": "int64"
213 },
214 {
215 "name": "no.note",
216 "in": "query",
217 "required": false,
218 "type": "string"
219 },
220 {
221 "name": "no.previewField",
222 "in": "query",
223 "required": false,
224 "type": "string"
225 },
226 {
227 "name": "previewField",
228 "in": "query",
229 "required": false,
230 "type": "string"
231 },
232 {
233 "name": "anEnum",
234 "in": "query",
235 "required": false,
236 "type": "string",
237 "enum": [
238 "VISIBILITY_ENUM_UNSPECIFIED",
239 "VISIBILITY_ENUM_VISIBLE",
240 "VISIBILITY_ENUM_PREVIEW"
241 ],
242 "default": "VISIBILITY_ENUM_UNSPECIFIED"
243 }
244 ],
245 "tags": [
246 "VisibilityRuleEchoService"
247 ]
248 }
249 },
250 "/v1/example/echo_preview": {
251 "get": {
252 "summary": "EchoPreview is a preview API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"PREVIEW\".",
253 "operationId": "VisibilityRuleEchoService_EchoPreview",
254 "responses": {
255 "200": {
256 "description": "A successful response.",
257 "schema": {
258 "$ref": "#/definitions/examplepbVisibilityRuleMessageInPreviewMethod"
259 }
260 },
261 "default": {
262 "description": "An unexpected error response.",
263 "schema": {
264 "$ref": "#/definitions/rpcStatus"
265 }
266 }
267 },
268 "parameters": [
269 {
270 "name": "id",
271 "description": "Id represents the message identifier.",
272 "in": "query",
273 "required": false,
274 "type": "string"
275 },
276 {
277 "name": "num",
278 "in": "query",
279 "required": false,
280 "type": "string",
281 "format": "int64"
282 },
283 {
284 "name": "lineNum",
285 "in": "query",
286 "required": false,
287 "type": "string",
288 "format": "int64"
289 },
290 {
291 "name": "lang",
292 "in": "query",
293 "required": false,
294 "type": "string"
295 },
296 {
297 "name": "status.progress",
298 "in": "query",
299 "required": false,
300 "type": "string",
301 "format": "int64"
302 },
303 {
304 "name": "status.note",
305 "in": "query",
306 "required": false,
307 "type": "string"
308 },
309 {
310 "name": "status.previewField",
311 "in": "query",
312 "required": false,
313 "type": "string"
314 },
315 {
316 "name": "en",
317 "in": "query",
318 "required": false,
319 "type": "string",
320 "format": "int64"
321 },
322 {
323 "name": "no.progress",
324 "in": "query",
325 "required": false,
326 "type": "string",
327 "format": "int64"
328 },
329 {
330 "name": "no.note",
331 "in": "query",
332 "required": false,
333 "type": "string"
334 },
335 {
336 "name": "no.previewField",
337 "in": "query",
338 "required": false,
339 "type": "string"
340 },
341 {
342 "name": "previewField",
343 "in": "query",
344 "required": false,
345 "type": "string"
346 },
347 {
348 "name": "anEnum",
349 "in": "query",
350 "required": false,
351 "type": "string",
352 "enum": [
353 "VISIBILITY_ENUM_UNSPECIFIED",
354 "VISIBILITY_ENUM_VISIBLE",
355 "VISIBILITY_ENUM_PREVIEW"
356 ],
357 "default": "VISIBILITY_ENUM_UNSPECIFIED"
358 }
359 ],
360 "tags": [
361 "VisibilityRuleEchoService"
362 ]
363 }
364 }
365 },
366 "definitions": {
367 "VisibilityRuleSimpleMessageVisibilityEnum": {
368 "type": "string",
369 "enum": [
370 "VISIBILITY_ENUM_UNSPECIFIED",
371 "VISIBILITY_ENUM_VISIBLE",
372 "VISIBILITY_ENUM_PREVIEW"
373 ],
374 "default": "VISIBILITY_ENUM_UNSPECIFIED"
375 },
376 "examplepbVisibilityRuleEmbedded": {
377 "type": "object",
378 "properties": {
379 "progress": {
380 "type": "string",
381 "format": "int64"
382 },
383 "note": {
384 "type": "string"
385 },
386 "previewField": {
387 "type": "string"
388 }
389 },
390 "description": "Embedded represents a message embedded in SimpleMessage."
391 },
392 "examplepbVisibilityRuleEnumInPreviewMethod": {
393 "type": "string",
394 "enum": [
395 "VISIBILITY_RULE_ENUM_IN_PREVIEW_METHOD_UNSPECIFIED"
396 ],
397 "default": "VISIBILITY_RULE_ENUM_IN_PREVIEW_METHOD_UNSPECIFIED",
398 "description": "EnumInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
399 },
400 "examplepbVisibilityRuleMessageInPreviewMethod": {
401 "type": "object",
402 "properties": {
403 "id": {
404 "type": "string"
405 },
406 "subMessage": {
407 "$ref": "#/definitions/examplepbVisibilityRuleSubMessageInPreviewMethod"
408 },
409 "enum": {
410 "$ref": "#/definitions/examplepbVisibilityRuleEnumInPreviewMethod"
411 }
412 },
413 "description": "MessageInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
414 },
415 "examplepbVisibilityRuleSimpleMessage": {
416 "type": "object",
417 "properties": {
418 "id": {
419 "type": "string",
420 "description": "Id represents the message identifier."
421 },
422 "num": {
423 "type": "string",
424 "format": "int64"
425 },
426 "lineNum": {
427 "type": "string",
428 "format": "int64"
429 },
430 "lang": {
431 "type": "string"
432 },
433 "status": {
434 "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
435 },
436 "en": {
437 "type": "string",
438 "format": "int64"
439 },
440 "no": {
441 "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
442 },
443 "previewField": {
444 "type": "string"
445 },
446 "anEnum": {
447 "$ref": "#/definitions/VisibilityRuleSimpleMessageVisibilityEnum"
448 }
449 },
450 "description": "SimpleMessage represents a simple message sent to the Echo service."
451 },
452 "examplepbVisibilityRuleSubMessageInPreviewMethod": {
453 "type": "object",
454 "properties": {
455 "id": {
456 "type": "string"
457 }
458 },
459 "description": "SubMessageInPreviewMethod doesn't define its own visibility restrictions,\nbut is only included in a method marked as \"PREVIEW\", so it will only\nappear if `visibility_restriction_selectors` include \"PREVIEW\"."
460 },
461 "protobufAny": {
462 "type": "object",
463 "properties": {
464 "@type": {
465 "type": "string"
466 }
467 },
468 "additionalProperties": {}
469 },
470 "rpcStatus": {
471 "type": "object",
472 "properties": {
473 "code": {
474 "type": "integer",
475 "format": "int32"
476 },
477 "message": {
478 "type": "string"
479 },
480 "details": {
481 "type": "array",
482 "items": {
483 "type": "object",
484 "$ref": "#/definitions/protobufAny"
485 }
486 }
487 }
488 }
489 }
490}
View as plain text