@schemastore/grpc-api-gateway 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +14 -0
  3. package/index.d.ts +1350 -0
  4. package/package.json +9 -0
package/index.d.ts ADDED
@@ -0,0 +1,1350 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * EndpointBinding is a gRPC method - HTTP endpoint binding specification.
5
+ */
6
+ export type EndpointBinding =
7
+ | {
8
+ get: string;
9
+ [k: string]: unknown | undefined;
10
+ }
11
+ | {
12
+ put: string;
13
+ [k: string]: unknown | undefined;
14
+ }
15
+ | {
16
+ post: string;
17
+ [k: string]: unknown | undefined;
18
+ }
19
+ | {
20
+ delete: string;
21
+ [k: string]: unknown | undefined;
22
+ }
23
+ | {
24
+ patch: string;
25
+ [k: string]: unknown | undefined;
26
+ }
27
+ | {
28
+ custom: CustomPattern;
29
+ [k: string]: unknown | undefined;
30
+ };
31
+ /**
32
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
33
+ */
34
+ export type Value =
35
+ | (
36
+ | unknown[]
37
+ | boolean
38
+ | number
39
+ | {
40
+ [k: string]: unknown | undefined;
41
+ }
42
+ | string
43
+ )
44
+ | undefined;
45
+ /**
46
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
47
+ */
48
+ export type Value1 =
49
+ | (
50
+ | unknown[]
51
+ | boolean
52
+ | number
53
+ | {
54
+ [k: string]: unknown | undefined;
55
+ }
56
+ | string
57
+ )
58
+ | undefined;
59
+ /**
60
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
61
+ */
62
+ export type Value2 =
63
+ | (
64
+ | unknown[]
65
+ | boolean
66
+ | number
67
+ | {
68
+ [k: string]: unknown | undefined;
69
+ }
70
+ | string
71
+ )
72
+ | undefined;
73
+ /**
74
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
75
+ */
76
+ export type Value3 =
77
+ | (
78
+ | unknown[]
79
+ | boolean
80
+ | number
81
+ | {
82
+ [k: string]: unknown | undefined;
83
+ }
84
+ | string
85
+ )
86
+ | undefined;
87
+ /**
88
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
89
+ */
90
+ export type Value4 =
91
+ | (
92
+ | unknown[]
93
+ | boolean
94
+ | number
95
+ | {
96
+ [k: string]: unknown | undefined;
97
+ }
98
+ | string
99
+ )
100
+ | undefined;
101
+ /**
102
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
103
+ */
104
+ export type Value5 =
105
+ | (
106
+ | unknown[]
107
+ | boolean
108
+ | number
109
+ | {
110
+ [k: string]: unknown | undefined;
111
+ }
112
+ | string
113
+ )
114
+ | undefined;
115
+ /**
116
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
117
+ */
118
+ export type Value6 =
119
+ | (
120
+ | unknown[]
121
+ | boolean
122
+ | number
123
+ | {
124
+ [k: string]: unknown | undefined;
125
+ }
126
+ | string
127
+ )
128
+ | undefined;
129
+ /**
130
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
131
+ */
132
+ export type Value7 =
133
+ | (
134
+ | unknown[]
135
+ | boolean
136
+ | number
137
+ | {
138
+ [k: string]: unknown | undefined;
139
+ }
140
+ | string
141
+ )
142
+ | undefined;
143
+ /**
144
+ * Enum for the data type of a schema.
145
+ */
146
+ export type SchemaDataType = (
147
+ | 'UNKNOWN'
148
+ | 0
149
+ | 'ARRAY'
150
+ | 1
151
+ | 'BOOLEAN'
152
+ | 2
153
+ | 'INTEGER'
154
+ | 3
155
+ | 'NULL'
156
+ | 4
157
+ | 'NUMBER'
158
+ | 5
159
+ | 'OBJECT'
160
+ | 6
161
+ | 'STRING'
162
+ | 7
163
+ )[];
164
+ /**
165
+ * Represents an item in a SchemaList, which can be a schema or another SchemaList.
166
+ */
167
+ export type Item =
168
+ | {
169
+ schema: Schema | undefined;
170
+ [k: string]: unknown | undefined;
171
+ }
172
+ | {
173
+ list: SchemaList;
174
+ [k: string]: unknown | undefined;
175
+ };
176
+ /**
177
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
178
+ */
179
+ export type Value8 =
180
+ | unknown[]
181
+ | boolean
182
+ | number
183
+ | {
184
+ [k: string]: unknown | undefined;
185
+ }
186
+ | string;
187
+ /**
188
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
189
+ */
190
+ export type Value9 =
191
+ | unknown[]
192
+ | boolean
193
+ | number
194
+ | {
195
+ [k: string]: unknown | undefined;
196
+ }
197
+ | string;
198
+ /**
199
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
200
+ */
201
+ export type Value10 =
202
+ | unknown[]
203
+ | boolean
204
+ | number
205
+ | {
206
+ [k: string]: unknown | undefined;
207
+ }
208
+ | string;
209
+ /**
210
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
211
+ */
212
+ export type Value11 =
213
+ | unknown[]
214
+ | boolean
215
+ | number
216
+ | {
217
+ [k: string]: unknown | undefined;
218
+ }
219
+ | string;
220
+ /**
221
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
222
+ */
223
+ export type Value12 =
224
+ | (
225
+ | unknown[]
226
+ | boolean
227
+ | number
228
+ | {
229
+ [k: string]: unknown | undefined;
230
+ }
231
+ | string
232
+ )
233
+ | undefined;
234
+ /**
235
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
236
+ */
237
+ export type Value13 =
238
+ | unknown[]
239
+ | boolean
240
+ | number
241
+ | {
242
+ [k: string]: unknown | undefined;
243
+ }
244
+ | string;
245
+ /**
246
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
247
+ */
248
+ export type Value14 =
249
+ | (
250
+ | unknown[]
251
+ | boolean
252
+ | number
253
+ | {
254
+ [k: string]: unknown | undefined;
255
+ }
256
+ | string
257
+ )
258
+ | undefined;
259
+ /**
260
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
261
+ */
262
+ export type Value15 =
263
+ | (
264
+ | unknown[]
265
+ | boolean
266
+ | number
267
+ | {
268
+ [k: string]: unknown | undefined;
269
+ }
270
+ | string
271
+ )
272
+ | undefined;
273
+ /**
274
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
275
+ */
276
+ export type Value16 =
277
+ | (
278
+ | unknown[]
279
+ | boolean
280
+ | number
281
+ | {
282
+ [k: string]: unknown | undefined;
283
+ }
284
+ | string
285
+ )
286
+ | undefined;
287
+ /**
288
+ * The Link object represents a possible design-time link for a response. The presence of a link does not guarantee the caller’s ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between responses and other operations. See: https://spec.openapis.org/oas/v3.1.0#link-object
289
+ */
290
+ export type Link =
291
+ | (
292
+ | {
293
+ operation_ref: string;
294
+ [k: string]: unknown | undefined;
295
+ }
296
+ | {
297
+ operation_id: string;
298
+ [k: string]: unknown | undefined;
299
+ }
300
+ )
301
+ | undefined;
302
+ /**
303
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
304
+ */
305
+ export type Value17 =
306
+ | (
307
+ | unknown[]
308
+ | boolean
309
+ | number
310
+ | {
311
+ [k: string]: unknown | undefined;
312
+ }
313
+ | string
314
+ )
315
+ | undefined;
316
+ /**
317
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
318
+ */
319
+ export type Value18 =
320
+ | unknown[]
321
+ | boolean
322
+ | number
323
+ | {
324
+ [k: string]: unknown | undefined;
325
+ }
326
+ | string;
327
+ /**
328
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
329
+ */
330
+ export type Value19 =
331
+ | (
332
+ | unknown[]
333
+ | boolean
334
+ | number
335
+ | {
336
+ [k: string]: unknown | undefined;
337
+ }
338
+ | string
339
+ )
340
+ | undefined;
341
+ /**
342
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
343
+ */
344
+ export type Value20 =
345
+ | (
346
+ | unknown[]
347
+ | boolean
348
+ | number
349
+ | {
350
+ [k: string]: unknown | undefined;
351
+ }
352
+ | string
353
+ )
354
+ | undefined;
355
+ /**
356
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
357
+ */
358
+ export type Value21 =
359
+ | (
360
+ | unknown[]
361
+ | boolean
362
+ | number
363
+ | {
364
+ [k: string]: unknown | undefined;
365
+ }
366
+ | string
367
+ )
368
+ | undefined;
369
+ /**
370
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
371
+ */
372
+ export type Value22 =
373
+ | (
374
+ | unknown[]
375
+ | boolean
376
+ | number
377
+ | {
378
+ [k: string]: unknown | undefined;
379
+ }
380
+ | string
381
+ )
382
+ | undefined;
383
+ /**
384
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
385
+ */
386
+ export type Value23 =
387
+ | (
388
+ | unknown[]
389
+ | boolean
390
+ | number
391
+ | {
392
+ [k: string]: unknown | undefined;
393
+ }
394
+ | string
395
+ )
396
+ | undefined;
397
+ /**
398
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
399
+ */
400
+ export type Value24 =
401
+ | (
402
+ | unknown[]
403
+ | boolean
404
+ | number
405
+ | {
406
+ [k: string]: unknown | undefined;
407
+ }
408
+ | string
409
+ )
410
+ | undefined;
411
+ /**
412
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
413
+ */
414
+ export type Value25 =
415
+ | (
416
+ | unknown[]
417
+ | boolean
418
+ | number
419
+ | {
420
+ [k: string]: unknown | undefined;
421
+ }
422
+ | string
423
+ )
424
+ | undefined;
425
+ /**
426
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
427
+ */
428
+ export type Value26 =
429
+ | (
430
+ | unknown[]
431
+ | boolean
432
+ | number
433
+ | {
434
+ [k: string]: unknown | undefined;
435
+ }
436
+ | string
437
+ )
438
+ | undefined;
439
+ /**
440
+ * `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.
441
+ */
442
+ export type Value27 =
443
+ | (
444
+ | unknown[]
445
+ | boolean
446
+ | number
447
+ | {
448
+ [k: string]: unknown | undefined;
449
+ }
450
+ | string
451
+ )
452
+ | undefined;
453
+
454
+ /**
455
+ * Configuration files for gRPC API Gateway & OpenAPI generation plugin for protobuf (https://github.com/meshapi/grpc-api-gateway)
456
+ */
457
+ export interface Config {
458
+ gateway?: GatewaySpec;
459
+ openapi?: OpenAPISpec;
460
+ }
461
+ /**
462
+ * GatewaySpec holds gRPC gateway configurations.
463
+ */
464
+ export interface GatewaySpec {
465
+ /**
466
+ * endpoints hold a series of endpoint binding specs.
467
+ */
468
+ endpoints?: EndpointBinding[];
469
+ }
470
+ /**
471
+ * CustomPattern describes an HTTP pattern and custom method.
472
+ */
473
+ export interface CustomPattern {
474
+ /**
475
+ * method is the custom HTTP method.
476
+ */
477
+ method?: string;
478
+ /**
479
+ * path is the HTTP path pattern.
480
+ */
481
+ path?: string;
482
+ }
483
+ /**
484
+ * OpenAPISpec defines the overall OpenAPI documentation configuration.
485
+ */
486
+ export interface OpenAPISpec {
487
+ document?: Document;
488
+ /**
489
+ * services is used to configure OpenAPI v3.1 output for gRPC services.
490
+ */
491
+ services?: OpenAPIServiceSpec[];
492
+ /**
493
+ * messages is used to configure OpenAPI v3.1 output for protobuf messages.
494
+ */
495
+ messages?: OpenAPIMessageSpec[];
496
+ /**
497
+ * enums is used to configure OpenAPI v3.1 output for protobuf enums.
498
+ */
499
+ enums?: OpenAPIEnumSpec[];
500
+ }
501
+ /**
502
+ * This is the root object of the OpenAPI document. See: https://spec.openapis.org/oas/v3.1.0#openapi-object
503
+ */
504
+ export interface Document {
505
+ info?: Info;
506
+ /**
507
+ * An array of Server Objects, which provide connectivity information to a target server. If the servers property is not provided, or is an empty array, the default value would be a Server Object with a url value of /. See: https://spec.openapis.org/oas/latest.html#server-object
508
+ */
509
+ servers?: Server[];
510
+ components?: Components;
511
+ /**
512
+ * A declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement ({}) can be included in the array. See: https://spec.openapis.org/oas/v3.1.0#security-requirement-object
513
+ */
514
+ security?: SecurityRequirement[];
515
+ /**
516
+ * A list of tags used by the document with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the Operation Object must be declared. The tags that are not declared MAY be organized randomly or based on the tools’ logic. Each tag name in the list MUST be unique. See: https://spec.openapis.org/oas/v3.1.0#tag-object
517
+ */
518
+ tags?: Tag[];
519
+ external_docs?: ExternalDocumentation;
520
+ /**
521
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
522
+ */
523
+ extensions?: {
524
+ [k: string]: Value26 | undefined;
525
+ };
526
+ config?: DocumentConfiguration;
527
+ }
528
+ /**
529
+ * Info captures OpenAPI Info object. NOTE: A generated value will be used for the required fields if they are left empty. See: https://spec.openapis.org/oas/v3.1.0#info-object
530
+ */
531
+ export interface Info {
532
+ /**
533
+ * REQUIRED. The title of the API.
534
+ */
535
+ title?: string;
536
+ /**
537
+ * A short summary of the API.
538
+ */
539
+ summary?: string;
540
+ /**
541
+ * A description of the API. CommonMark syntax MAY be used for rich text representation.
542
+ */
543
+ description?: string;
544
+ /**
545
+ * A URL to the Terms of Service for the API. This MUST be in the form of a URL.
546
+ */
547
+ terms_of_service?: string;
548
+ contact?: Contact;
549
+ license?: License;
550
+ /**
551
+ * REQUIRED. The version of the OpenAPI document.
552
+ */
553
+ version?: string;
554
+ /**
555
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
556
+ */
557
+ extensions?: {
558
+ [k: string]: Value2 | undefined;
559
+ };
560
+ }
561
+ /**
562
+ * Contact information for the exposed API. See: https://spec.openapis.org/oas/v3.1.0#contact-object
563
+ */
564
+ export interface Contact {
565
+ /**
566
+ * The identifying name of the contact person/organization.
567
+ */
568
+ name?: string;
569
+ /**
570
+ * The URL pointing to the contact information. This MUST be in the form of a URL.
571
+ */
572
+ url?: string;
573
+ /**
574
+ * The email address of the contact person/organization. This MUST be in the form of an email address.
575
+ */
576
+ email?: string;
577
+ /**
578
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
579
+ */
580
+ extensions?: {
581
+ [k: string]: Value | undefined;
582
+ };
583
+ }
584
+ /**
585
+ * License information for the exposed API. See: https://spec.openapis.org/oas/v3.1.0#license-object
586
+ */
587
+ export interface License {
588
+ /**
589
+ * REQUIRED. The license name used for the API.
590
+ */
591
+ name?: string;
592
+ /**
593
+ * An SPDX license expression for the API. The identifier field is mutually exclusive of the url field.
594
+ */
595
+ identifier?: string;
596
+ /**
597
+ * A URL to the license used for the API. This MUST be in the form of a URL. The url field is mutually exclusive of the identifier field.
598
+ */
599
+ url?: string;
600
+ /**
601
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
602
+ */
603
+ extensions?: {
604
+ [k: string]: Value1 | undefined;
605
+ };
606
+ }
607
+ /**
608
+ * An object representing a Server. See: https://spec.openapis.org/oas/v3.1.0#server-object
609
+ */
610
+ export interface Server {
611
+ /**
612
+ * REQUIRED. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served. Variable substitutions will be made when a variable is named in {brackets}.
613
+ */
614
+ url?: string;
615
+ /**
616
+ * An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation.
617
+ */
618
+ description?: string;
619
+ /**
620
+ * A map between a variable name and its value. The value is used for substitution in the server’s URL template.
621
+ */
622
+ variables?: {
623
+ [k: string]: ServerVariable | undefined;
624
+ };
625
+ /**
626
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
627
+ */
628
+ extensions?: {
629
+ [k: string]: Value4 | undefined;
630
+ };
631
+ }
632
+ /**
633
+ * An object representing a Server Variable for server URL template substitution. See: https://spec.openapis.org/oas/v3.1.0#server-variable-object
634
+ */
635
+ export interface ServerVariable {
636
+ /**
637
+ * An enumeration of string values to be used if the substitution options are from a limited set. The array MUST NOT be empty.
638
+ */
639
+ enum_values?: string[];
640
+ /**
641
+ * REQUIRED. The default value to use for substitution, which SHALL be sent if an alternate value is not supplied. Note this behavior is different than the Schema Object’s treatment of default values, because in those cases parameter values are optional. If the enum is defined, the value MUST exist in the enum’s values.
642
+ */
643
+ default_value?: string;
644
+ /**
645
+ * An optional description for the server variable. CommonMark syntax MAY be used for rich text representation.
646
+ */
647
+ description?: string;
648
+ /**
649
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
650
+ */
651
+ extensions?: {
652
+ [k: string]: Value3 | undefined;
653
+ };
654
+ }
655
+ /**
656
+ * Holds a set of reusable objects for different aspects of the OAS. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object. See: https://spec.openapis.org/oas/latest.html#components-object
657
+ */
658
+ export interface Components {
659
+ schemas?: {
660
+ [k: string]: Schema | undefined;
661
+ };
662
+ responses?: {
663
+ [k: string]: Response | undefined;
664
+ };
665
+ parameters?: {
666
+ [k: string]: Parameter | undefined;
667
+ };
668
+ examples?: {
669
+ [k: string]: Example | undefined;
670
+ };
671
+ request_bodies?: {
672
+ [k: string]: RequestBody | undefined;
673
+ };
674
+ headers?: {
675
+ [k: string]: Header | undefined;
676
+ };
677
+ security_schemes?: {
678
+ [k: string]: SecurityScheme | undefined;
679
+ };
680
+ links?: {
681
+ [k: string]: Link | undefined;
682
+ };
683
+ /**
684
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
685
+ */
686
+ extensions?: {
687
+ [k: string]: Value24 | undefined;
688
+ };
689
+ }
690
+ /**
691
+ * Schema represents an OpenAPI v3.1 Schema object, providing a structured definition for data types used in the API. For detailed information on the Schema object, refer to the OpenAPI Specification: https://spec.openapis.org/oas/v3.1.0#schema-object
692
+ */
693
+ export interface Schema {
694
+ discriminator?: Discriminator;
695
+ external_docs?: ExternalDocumentation;
696
+ /**
697
+ * Extra can be used to add any other field in the schema. Since OpenAPI v3.1 arbitrary fields can be used in the schema objects. This field can be utilized to add those extra fields. Some of the JSON schema validation properties or core properties that are not captured as part of the gRPC REST Gateway OpenAPI objects.
698
+ */
699
+ extra?: {
700
+ [k: string]: Value7 | undefined;
701
+ };
702
+ /**
703
+ * Ref is used to define an external reference to include in the message. This could be a fully qualified proto message reference and start with a '.', and that type must be available in the proto files or their dependencies. If no message is identified, the Ref will be used verbatim in the output. For example: `ref: ".google.protobuf.Timestamp"`. NOTE: This reference will only be honored when used in top-level schemas in responses only.
704
+ */
705
+ ref?: string;
706
+ config?: FieldConfiguration;
707
+ /**
708
+ * The "$schema" keyword is used to identify the schema dialect and its associated URI for validation. See: https://json-schema.org/draft/2020-12/json-schema-core#name-the-schema-keyword
709
+ */
710
+ schema?: string;
711
+ /**
712
+ * The title of the schema.
713
+ */
714
+ title?: string;
715
+ /**
716
+ * A regular expression pattern that the schema value should match. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.3.3
717
+ */
718
+ pattern?: string;
719
+ /**
720
+ * A list of property names that are required in this schema.
721
+ */
722
+ required?: string[];
723
+ /**
724
+ * An array of unique values for enum validation. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.1.2
725
+ */
726
+ enum?: string[];
727
+ /**
728
+ * The value of "multipleOf" MUST be a number, strictly greater than 0. A numeric instance is valid only if division by this keyword's value results in an integer. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.2.1
729
+ */
730
+ multiple_of?: number;
731
+ /**
732
+ * Maximum represents an inclusive upper limit for a numeric instance. The value of MUST be a number, representing an inclusive upper limit for a numeric instance. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.2.2
733
+ */
734
+ maximum?: number;
735
+ /**
736
+ * See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.2.3
737
+ */
738
+ exclusive_maximum?: number;
739
+ /**
740
+ * minimum represents an inclusive lower limit for a numeric instance. The value of MUST be a number, representing an inclusive lower limit for a numeric instance. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.2.4
741
+ */
742
+ minimum?: number;
743
+ /**
744
+ * See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.2.5
745
+ */
746
+ exclusive_minimum?: number;
747
+ /**
748
+ * A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.3.1
749
+ */
750
+ max_length?: string;
751
+ /**
752
+ * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.3.2
753
+ */
754
+ min_length?: string;
755
+ /**
756
+ * An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.4.1
757
+ */
758
+ max_items?: string;
759
+ /**
760
+ * An array instance is valid against "minItems" if its size is greater than, or equal to, the value of this keyword. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-6.4.2
761
+ */
762
+ min_items?: string;
763
+ /**
764
+ * If set to true, all items must be unique.
765
+ */
766
+ unique_items?: boolean;
767
+ max_properties?: string;
768
+ min_properties?: string;
769
+ types?: SchemaDataType;
770
+ /**
771
+ * A description of the schema using CommonMark syntax.
772
+ */
773
+ description?: string;
774
+ items?: Item;
775
+ /**
776
+ * The properties keyword specifies the schema for properties in an object. Defining any property here for proto messages merges them with the automatically generated ones.
777
+ */
778
+ properties?: {
779
+ [k: string]: Schema | undefined;
780
+ };
781
+ additional_properties?: Schema | undefined;
782
+ default?: Value8;
783
+ /**
784
+ * The allOf keyword specifies that an instance must validate against all the schemas defined in the array. See: https://json-schema.org/draft/2020-12/json-schema-core#name-allof
785
+ */
786
+ all_of?: Schema | undefined[];
787
+ /**
788
+ * The anyOf keyword specifies that an instance must validate against at least one of the schemas defined in the array. See: https://json-schema.org/draft/2020-12/json-schema-core#name-anyof
789
+ */
790
+ any_of?: Schema | undefined[];
791
+ /**
792
+ * The oneOf keyword specifies that an instance must validate against exactly one of the schemas defined in the array. See: https://json-schema.org/draft/2020-12/json-schema-core#name-oneof
793
+ */
794
+ one_of?: Schema | undefined[];
795
+ not?: Schema | undefined;
796
+ /**
797
+ * The readOnly keyword specifies that a property is read-only. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-9.4
798
+ */
799
+ read_only?: boolean;
800
+ /**
801
+ * The writeOnly keyword specifies that a property is write-only. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-9.4
802
+ */
803
+ write_only?: boolean;
804
+ /**
805
+ * Examples of valid instances for the schema. See: https://json-schema.org/draft/2020-12/json-schema-validation#section-9.5
806
+ */
807
+ examples?: Value9[];
808
+ /**
809
+ * The format keyword specifies a predefined format for the schema value. See: https://json-schema.org/draft-06/json-schema-validation#rfc.section.8
810
+ */
811
+ format?: string;
812
+ /**
813
+ * The deprecated keyword specifies that the schema is deprecated. See: https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#section-9.3
814
+ */
815
+ deprecated?: boolean;
816
+ }
817
+ /**
818
+ * See: https://spec.openapis.org/oas/latest.html#discriminator-object
819
+ */
820
+ export interface Discriminator {
821
+ /**
822
+ * REQUIRED. The name of the property in the payload that will hold the discriminator value.
823
+ */
824
+ property_name?: string;
825
+ /**
826
+ * An object to hold mappings between payload values and schema names or references.
827
+ */
828
+ mapping?: {
829
+ [k: string]: string | undefined;
830
+ };
831
+ /**
832
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
833
+ */
834
+ extensions?: {
835
+ [k: string]: Value5 | undefined;
836
+ };
837
+ }
838
+ /**
839
+ * Allows referencing an external resource for extended documentation. See: https://spec.openapis.org/oas/v3.1.0#external-documentation-object
840
+ */
841
+ export interface ExternalDocumentation {
842
+ /**
843
+ * A description of the target documentation. CommonMark syntax MAY be used for rich text representation.
844
+ */
845
+ description?: string;
846
+ /**
847
+ * REQUIRED. The URL for the target documentation. This MUST be in the form of a URL.
848
+ */
849
+ url?: string;
850
+ /**
851
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
852
+ */
853
+ extensions?: {
854
+ [k: string]: Value6 | undefined;
855
+ };
856
+ }
857
+ /**
858
+ * FieldConfiguration provides additional field level properties used when generating the OpenAPI v3.1 file. These properties are not defined by OpenAPIv3, but they are used to control the generation.
859
+ */
860
+ export interface FieldConfiguration {
861
+ /**
862
+ * Alternative parameter name when used as path parameter. If set, this will be used as the complete parameter name when this field is used as a path parameter. Use this to avoid having auto-generated path parameter names for overlapping paths.
863
+ */
864
+ path_param_name?: string;
865
+ /**
866
+ * Marks this field as required.
867
+ */
868
+ required?: boolean;
869
+ }
870
+ /**
871
+ * Represents a list of schemas for array validation or for object properties.
872
+ */
873
+ export interface SchemaList {
874
+ items?: Schema | undefined[];
875
+ }
876
+ export interface Response {
877
+ ref?: Reference;
878
+ /**
879
+ * A description which by default SHOULD override that of the referenced component. CommonMark syntax MAY be used for rich text representation. If the referenced object-type does not allow a description field, then this field has no effect.
880
+ */
881
+ description?: string;
882
+ /**
883
+ * Maps a header name to its definition. [RFC7230] states header names are case insensitive. If a response header is defined with the name "Content-Type", it SHALL be ignored.
884
+ */
885
+ headers?: {
886
+ [k: string]: Header | undefined;
887
+ };
888
+ /**
889
+ * A map containing descriptions of potential response payloads. The key is a media type or media type range and the value describes it. For responses that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
890
+ */
891
+ content?: {
892
+ [k: string]: MediaType | undefined;
893
+ };
894
+ /**
895
+ * A map of operations links that can be followed from the response. The key of the map is a short name for the link, following the naming constraints of the names for Component Objects.
896
+ */
897
+ links?: {
898
+ [k: string]: Link | undefined;
899
+ };
900
+ /**
901
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
902
+ */
903
+ extensions?: {
904
+ [k: string]: Value17 | undefined;
905
+ };
906
+ }
907
+ /**
908
+ * Reference allows referencing other components in the OpenAPI document, both internally and externally. For detailed information on the Reference object, refer to the OpenAPI Specification: https://spec.openapis.org/oas/latest.html#reference-object
909
+ */
910
+ export interface Reference {
911
+ /**
912
+ * REQUIRED. The reference identifier. This MUST be in the form of a URI. For proto messages, a fully qualified message name can be used (relative links are allowed where proto file is deduced). Example: ".google.protobuf.Timestamp"
913
+ */
914
+ uri?: string;
915
+ /**
916
+ * A short summary that, by default, SHOULD override that of the referenced component. If the referenced object-type does not allow a summary field, then this field has no effect.
917
+ */
918
+ summary?: string;
919
+ /**
920
+ * A description that, by default, SHOULD override that of the referenced component. CommonMark syntax MAY be used for rich text representation. If the referenced object-type does not allow a description field, then this field has no effect.
921
+ */
922
+ description?: string;
923
+ }
924
+ /**
925
+ * Header object follows the structure of the Parameter object with the following changes: 1. name MUST NOT be specified, it is given in the corresponding headers map. 2. in MUST NOT be specified, it is implicitly in header. 3. All traits that are affected by the location MUST be applicable to a location of header (for example, style). See: https://spec.openapis.org/oas/v3.1.0#header-object
926
+ */
927
+ export interface Header {
928
+ ref?: Reference;
929
+ /**
930
+ * A description of the link. CommonMark syntax MAY be used for rich text representation.
931
+ */
932
+ description?: string;
933
+ /**
934
+ * Determines whether this parameter is mandatory. If the parameter location is "path", this property is REQUIRED and its value MUST be true. Otherwise, the property MAY be included and its default value is false.
935
+ */
936
+ required?: boolean;
937
+ /**
938
+ * Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false.
939
+ */
940
+ deprecated?: boolean;
941
+ /**
942
+ * Sets the ability to pass empty-valued parameters. This is valid only for query parameters and allows sending a parameter with an empty value. Default value is false. If style is used, and if behavior is n/a (cannot be serialized), the value of allowEmptyValue SHALL be ignored. Use of this property is NOT RECOMMENDED, as it is likely to be removed in a later revision.
943
+ */
944
+ allow_empty_value?: boolean;
945
+ /**
946
+ * Describes how the parameter value will be serialized depending on the type of the parameter value. Default value for header parameters is "simple".
947
+ */
948
+ style?: string;
949
+ /**
950
+ * When this is true, parameter values of type array or object generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When style is form, the default value is true. For all other styles, the default value is false.
951
+ */
952
+ explode?: boolean;
953
+ schema?: Schema | undefined;
954
+ example?: Value10;
955
+ /**
956
+ * Examples of the parameter’s potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The examples field is mutually exclusive of the example field. Furthermore, if referencing a schema that contains an example, the examples value SHALL override the example provided by the schema.
957
+ */
958
+ examples?: {
959
+ [k: string]: Example | undefined;
960
+ };
961
+ /**
962
+ * A map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.
963
+ */
964
+ content?: {
965
+ [k: string]: MediaType | undefined;
966
+ };
967
+ /**
968
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
969
+ */
970
+ extensions?: {
971
+ [k: string]: Value16 | undefined;
972
+ };
973
+ }
974
+ /**
975
+ * See: https://spec.openapis.org/oas/latest.html#example-object
976
+ */
977
+ export interface Example {
978
+ ref?: Reference;
979
+ /**
980
+ * Short description for the example.
981
+ */
982
+ summary?: string;
983
+ /**
984
+ * Long description for the example. CommonMark syntax MAY be used for rich text representation.
985
+ */
986
+ description?: string;
987
+ value?: Value11;
988
+ /**
989
+ * A URI that points to the literal example. This provides the capability to reference examples that cannot easily be included in JSON or YAML documents. The value field and externalValue field are mutually exclusive. See the rules for resolving Relative References.
990
+ */
991
+ external_value?: string;
992
+ /**
993
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
994
+ */
995
+ extensions?: {
996
+ [k: string]: Value12 | undefined;
997
+ };
998
+ }
999
+ /**
1000
+ * Each Media Type Object provides schema and examples for the media type identified by its key. See: https://spec.openapis.org/oas/latest.html#media-type-object
1001
+ */
1002
+ export interface MediaType {
1003
+ schema?: Schema | undefined;
1004
+ example?: Value13;
1005
+ /**
1006
+ * Examples of the parameter’s potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The examples field is mutually exclusive of the example field. Furthermore, if referencing a schema that contains an example, the examples value SHALL override the example provided by the schema.
1007
+ */
1008
+ examples?: {
1009
+ [k: string]: Example | undefined;
1010
+ };
1011
+ /**
1012
+ * A map between a property name and its encoding information. The key, being the property name, MUST exist in the schema as a property. The encoding object SHALL only apply to requestBody objects when the media type is multipart or application/x-www-form-urlencoded.
1013
+ */
1014
+ encoding?: {
1015
+ [k: string]: Encoding | undefined;
1016
+ };
1017
+ /**
1018
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1019
+ */
1020
+ extensions?: {
1021
+ [k: string]: Value15 | undefined;
1022
+ };
1023
+ }
1024
+ /**
1025
+ * A single encoding definition applied to a single schema property. See: https://spec.openapis.org/oas/latest.html#encoding-object
1026
+ */
1027
+ export interface Encoding {
1028
+ /**
1029
+ * The Content-Type for encoding a specific property. Default value depends on the property type: for object - application/json; for array – the default is defined based on the inner type; for all other cases the default is application/octet-stream. The value can be a specific media type (e.g. application/json), a wildcard media type (e.g. image/*), or a comma-separated list of the two types.
1030
+ */
1031
+ content_type?: string;
1032
+ /**
1033
+ * A map allowing additional information to be provided as headers, for example Content-Disposition. Content-Type is described separately and SHALL be ignored in this section. This property SHALL be ignored if the request body media type is not a multipart.
1034
+ */
1035
+ headers?: {
1036
+ [k: string]: Header | undefined;
1037
+ };
1038
+ /**
1039
+ * Describes how a specific property value will be serialized depending on its type. See Parameter Object for details on the style property. The behavior follows the same values as query parameters, including default values. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data. If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored.
1040
+ */
1041
+ style?: string;
1042
+ /**
1043
+ * When this is true, property values of type array or object generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When style is form, the default value is true. For all other styles, the default value is false. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data. If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored.
1044
+ */
1045
+ explode?: boolean;
1046
+ /**
1047
+ * Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986] :/?#[]@!$&'()*+,;= to be included without percent-encoding. The default value is false. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded or multipart/form-data. If a value is explicitly defined, then the value of contentType (implicit or explicit) SHALL be ignored.
1048
+ */
1049
+ allow_reserved?: boolean;
1050
+ /**
1051
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1052
+ */
1053
+ extensions?: {
1054
+ [k: string]: Value14 | undefined;
1055
+ };
1056
+ }
1057
+ /**
1058
+ * Describes a single operation parameter. A unique parameter is defined by a combination of a name and location. See: https://spec.openapis.org/oas/latest.html#parameter-object
1059
+ */
1060
+ export interface Parameter {
1061
+ ref?: Reference;
1062
+ /**
1063
+ * REQUIRED. The name of the parameter. Parameter names are case sensitive. If in is "path", the name field MUST correspond to a template expression occurring within the path field in the Paths Object. See Path Templating for further information. If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored. For all other cases, the name corresponds to the parameter name used by the in property.
1064
+ */
1065
+ name?: string;
1066
+ /**
1067
+ * REQUIRED. The location of the parameter. Possible values are "query", "header", "path" or "cookie".
1068
+ */
1069
+ in?: string;
1070
+ /**
1071
+ * A description of the link. CommonMark syntax MAY be used for rich text representation.
1072
+ */
1073
+ description?: string;
1074
+ /**
1075
+ * Determines whether this parameter is mandatory. If the parameter location is "path", this property is REQUIRED and its value MUST be true. Otherwise, the property MAY be included and its default value is false.
1076
+ */
1077
+ required?: boolean;
1078
+ /**
1079
+ * Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false.
1080
+ */
1081
+ deprecated?: boolean;
1082
+ /**
1083
+ * Sets the ability to pass empty-valued parameters. This is valid only for query parameters and allows sending a parameter with an empty value. Default value is false. If style is used, and if behavior is n/a (cannot be serialized), the value of allowEmptyValue SHALL be ignored. Use of this property is NOT RECOMMENDED, as it is likely to be removed in a later revision.
1084
+ */
1085
+ allow_empty_value?: boolean;
1086
+ /**
1087
+ * Describes how the parameter value will be serialized depending on the type of the parameter value. Default value for header parameters is "simple".
1088
+ */
1089
+ style?: string;
1090
+ /**
1091
+ * When this is true, parameter values of type array or object generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When style is form, the default value is true. For all other styles, the default value is false.
1092
+ */
1093
+ explode?: boolean;
1094
+ /**
1095
+ * Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986] :/?#[]@!$&'()*+,;= to be included without percent-encoding. This property only applies to parameters with an in value of query. The default value is false.
1096
+ */
1097
+ allow_reserved?: boolean;
1098
+ schema?: Schema | undefined;
1099
+ example?: Value18;
1100
+ /**
1101
+ * Examples of the parameter’s potential value. Each example SHOULD contain a value in the correct format as specified in the parameter encoding. The examples field is mutually exclusive of the example field. Furthermore, if referencing a schema that contains an example, the examples value SHALL override the example provided by the schema.
1102
+ */
1103
+ examples?: {
1104
+ [k: string]: Example | undefined;
1105
+ };
1106
+ /**
1107
+ * A map containing the representations for the parameter. The key is the media type and the value describes it. The map MUST only contain one entry.
1108
+ */
1109
+ content?: {
1110
+ [k: string]: MediaType | undefined;
1111
+ };
1112
+ /**
1113
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1114
+ */
1115
+ extensions?: {
1116
+ [k: string]: Value19 | undefined;
1117
+ };
1118
+ }
1119
+ /**
1120
+ * Describes a single request body. See: https://spec.openapis.org/oas/latest.html#request-body-object
1121
+ */
1122
+ export interface RequestBody {
1123
+ ref?: Reference;
1124
+ /**
1125
+ * A brief description of the request body. This could contain examples of use. CommonMark syntax MAY be used for rich text representation.
1126
+ */
1127
+ description?: string;
1128
+ /**
1129
+ * REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it. For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
1130
+ */
1131
+ content?: {
1132
+ [k: string]: MediaType | undefined;
1133
+ };
1134
+ /**
1135
+ * Determines if the request body is required in the request. Defaults to false.
1136
+ */
1137
+ required?: boolean;
1138
+ /**
1139
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1140
+ */
1141
+ extensions?: {
1142
+ [k: string]: Value20 | undefined;
1143
+ };
1144
+ }
1145
+ /**
1146
+ * Defines a security scheme that can be used by the operations. See: https://spec.openapis.org/oas/latest.html#security-scheme-object
1147
+ */
1148
+ export interface SecurityScheme {
1149
+ ref?: Reference;
1150
+ /**
1151
+ * REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "mutualTLS", "oauth2", "openIdConnect".
1152
+ */
1153
+ type?: string;
1154
+ /**
1155
+ * A brief description of the request body. This could contain examples of use. CommonMark syntax MAY be used for rich text representation.
1156
+ */
1157
+ description?: string;
1158
+ /**
1159
+ * REQUIRED. The name of the header, query or cookie parameter to be used.
1160
+ */
1161
+ name?: string;
1162
+ /**
1163
+ * REQUIRED. The location of the API key. Valid values are "query", "header" or "cookie".
1164
+ */
1165
+ in?: string;
1166
+ /**
1167
+ * REQUIRED. The name of the HTTP Authorization scheme to be used in the Authorization header as defined in [RFC7235]. The values used SHOULD be registered in the IANA Authentication Scheme registry.
1168
+ */
1169
+ scheme?: string;
1170
+ /**
1171
+ * A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.
1172
+ */
1173
+ bearer_format?: string;
1174
+ flows?: OAuthFlows;
1175
+ /**
1176
+ * REQUIRED. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL. The OpenID Connect standard requires the use of TLS.
1177
+ */
1178
+ open_id_connect_url?: string;
1179
+ /**
1180
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1181
+ */
1182
+ extensions?: {
1183
+ [k: string]: Value23 | undefined;
1184
+ };
1185
+ }
1186
+ /**
1187
+ * See: https://spec.openapis.org/oas/latest.html#oauth-flows-object
1188
+ */
1189
+ export interface OAuthFlows {
1190
+ implicit?: OAuthFlow;
1191
+ password?: OAuthFlow;
1192
+ client_credentials?: OAuthFlow;
1193
+ authorization_code?: OAuthFlow;
1194
+ /**
1195
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1196
+ */
1197
+ extensions?: {
1198
+ [k: string]: Value22 | undefined;
1199
+ };
1200
+ }
1201
+ /**
1202
+ * Configuration details for a supported OAuth Flow See: https://spec.openapis.org/oas/latest.html#oauth-flow-object
1203
+ */
1204
+ export interface OAuthFlow {
1205
+ authorization_url?: string;
1206
+ token_url?: string;
1207
+ refresh_url?: string;
1208
+ scopes?: {
1209
+ [k: string]: string | undefined;
1210
+ };
1211
+ /**
1212
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1213
+ */
1214
+ extensions?: {
1215
+ [k: string]: Value21 | undefined;
1216
+ };
1217
+ }
1218
+ /**
1219
+ * Lists the required security schemes to execute this operation. See: https://spec.openapis.org/oas/v3.1.0#security-requirement-object
1220
+ */
1221
+ export interface SecurityRequirement {
1222
+ /**
1223
+ * Each name MUST correspond to a security scheme which is declared in the Security Schemes under the Components Object. If the security scheme is of type "oauth2" or "openIdConnect", then the value is a list of scope names required for the execution, and the list MAY be empty if authorization does not require a specified scope. For other security scheme types, the array MAY contain a list of role names which are required for the execution, but are not otherwise defined or exchanged in-band.
1224
+ */
1225
+ name?: string;
1226
+ scopes?: string[];
1227
+ }
1228
+ /**
1229
+ * Adds metadata to a single tag that is used by the Operation Object. See: https://spec.openapis.org/oas/v3.1.0#tag-object
1230
+ */
1231
+ export interface Tag {
1232
+ /**
1233
+ * REQUIRED. The name of the tag.
1234
+ */
1235
+ name?: string;
1236
+ /**
1237
+ * A description for the tag. CommonMark syntax MAY be used for rich text representation.
1238
+ */
1239
+ description?: string;
1240
+ external_docs?: ExternalDocumentation;
1241
+ /**
1242
+ * Extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1243
+ */
1244
+ extensions?: {
1245
+ [k: string]: Value25 | undefined;
1246
+ };
1247
+ }
1248
+ /**
1249
+ * DocumentConfiguration allows for controlling the default responses
1250
+ */
1251
+ export interface DocumentConfiguration {
1252
+ /**
1253
+ * default_responses is used to control the default responses generated in this OpenAPI document.
1254
+ */
1255
+ default_responses?: {
1256
+ [k: string]: Response | undefined;
1257
+ };
1258
+ }
1259
+ /**
1260
+ * OpenAPIServiceSpec defines configuration for generating OpenAPI documentation for gRPC services.
1261
+ */
1262
+ export interface OpenAPIServiceSpec {
1263
+ /**
1264
+ * selector is a dot-separated gRPC service method selector. If the selector begins with '~.', the current proto package will be added to the beginning of the path. For instance: `~.MyService`. Since no proto package can be deduced in the global config file, this alias cannot be used in the global config file. If the selector does not begin with '~.', it will be treated as a fully qualified method name (FQMN).
1265
+ */
1266
+ selector?: string;
1267
+ document?: Document;
1268
+ /**
1269
+ * methods maps each method to an operation configuration.
1270
+ */
1271
+ methods?: {
1272
+ [k: string]: Operation | undefined;
1273
+ };
1274
+ }
1275
+ /**
1276
+ * Describes a single API operation on a path. NOTE: this operation object is a partial implementation of the OpenAPI Operation object. Fields overridden here will only impact this method but will be used for all different HTTP bindings of the same method. See: https://spec.openapis.org/oas/v3.1.0#operation-object
1277
+ */
1278
+ export interface Operation {
1279
+ /**
1280
+ * A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier.
1281
+ */
1282
+ tags?: string[];
1283
+ /**
1284
+ * A short summary of what the operation does. Default is the proto docstring for this method.
1285
+ */
1286
+ summary?: string;
1287
+ /**
1288
+ * A verbose explanation of the operation behavior. CommonMark syntax MAY be used for rich text representation.
1289
+ */
1290
+ description?: string;
1291
+ external_docs?: ExternalDocumentation;
1292
+ /**
1293
+ * Override the operation ID, if left unset, a default value will be provided.
1294
+ */
1295
+ operation_id?: string;
1296
+ /**
1297
+ * A list of parameters that are applicable for this operation. Note that path and query parameters get populated by the generator and will override any overlapping keys. You might use this to define headers and values that are not defined on the request payload.
1298
+ */
1299
+ parameters?: Parameter | undefined[];
1300
+ /**
1301
+ * The list of possible responses returned from executing this operation. NOTE: This list is additive meaning that it will override any generated response from the proto files.
1302
+ */
1303
+ responses?: {
1304
+ [k: string]: Response | undefined;
1305
+ };
1306
+ /**
1307
+ * Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation. Default value is false.
1308
+ */
1309
+ deprecated?: boolean;
1310
+ /**
1311
+ * A declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. To make security optional, an empty security requirement ({}) can be included in the array. This definition overrides any declared top-level security. To remove a top-level security declaration, an empty array can be used.
1312
+ */
1313
+ security?: SecurityRequirement[];
1314
+ /**
1315
+ * An alternative server array to service this operation. If an alternative server object is specified at the Path Item Object or Root level, it will be overridden by this value.
1316
+ */
1317
+ servers?: Server[];
1318
+ /**
1319
+ * extensions that start with "x-" such as "x-foo" used to describe extra functionality that is not covered by standard OpenAPI specification. See: https://spec.openapis.org/oas/latest.html#specification-extensions
1320
+ */
1321
+ extensions?: {
1322
+ [k: string]: Value27 | undefined;
1323
+ };
1324
+ }
1325
+ /**
1326
+ * OpenAPIMessageSpec defines configuration for generating OpenAPI documentation for protobuf messages.
1327
+ */
1328
+ export interface OpenAPIMessageSpec {
1329
+ /**
1330
+ * selector is a dot-separated protobuf message selector. If the selector begins with a '.', it will be treated as an absolute path. If it begins with '~.', the current proto package will be added to the beginning of the path. For instance: `~.MyMessage`. Since no proto package can be deduced in the global config file, this alias cannot be used in the global config file. If the path does not begin with a '.' or '~.', it will be treated as a relative path and a search from the current proto package will be performed in order to find the message.
1331
+ */
1332
+ selector?: string;
1333
+ schema?: Schema | undefined;
1334
+ /**
1335
+ * fields allows controlling the OpenAPI v3.1 generation for individual fields in this proto message.
1336
+ */
1337
+ fields?: {
1338
+ [k: string]: Schema | undefined;
1339
+ };
1340
+ }
1341
+ /**
1342
+ * OpenAPIEnumSpec defines configuration for generating OpenAPI documentation for protobuf enums.
1343
+ */
1344
+ export interface OpenAPIEnumSpec {
1345
+ /**
1346
+ * selector is a dot-separated protobuf enum selector. If the selector begins with a '.', it will be treated as an absolute path. If it begins with '~.', the current proto package will be added to the beginning of the path. For instance: `~.MyEnum`. Since no proto package can be deduced in the global config file, this alias cannot be used in the global config file. If the path does not begin with a '.' or '~.', it will be treated as a relative path and a search from the current proto package will be performed in order to find the enum.
1347
+ */
1348
+ selector?: string;
1349
+ schema?: Schema | undefined;
1350
+ }