schemathesis 4.0.0a10__py3-none-any.whl → 4.0.0a12__py3-none-any.whl

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 (111) hide show
  1. schemathesis/__init__.py +29 -30
  2. schemathesis/auths.py +65 -24
  3. schemathesis/checks.py +73 -39
  4. schemathesis/cli/commands/__init__.py +51 -3
  5. schemathesis/cli/commands/data.py +10 -0
  6. schemathesis/cli/commands/run/__init__.py +163 -274
  7. schemathesis/cli/commands/run/context.py +8 -4
  8. schemathesis/cli/commands/run/events.py +11 -1
  9. schemathesis/cli/commands/run/executor.py +70 -78
  10. schemathesis/cli/commands/run/filters.py +15 -165
  11. schemathesis/cli/commands/run/handlers/cassettes.py +105 -104
  12. schemathesis/cli/commands/run/handlers/junitxml.py +5 -4
  13. schemathesis/cli/commands/run/handlers/output.py +195 -121
  14. schemathesis/cli/commands/run/loaders.py +35 -50
  15. schemathesis/cli/commands/run/validation.py +52 -162
  16. schemathesis/cli/core.py +5 -3
  17. schemathesis/cli/ext/fs.py +7 -5
  18. schemathesis/cli/ext/options.py +0 -21
  19. schemathesis/config/__init__.py +189 -0
  20. schemathesis/config/_auth.py +51 -0
  21. schemathesis/config/_checks.py +268 -0
  22. schemathesis/config/_diff_base.py +99 -0
  23. schemathesis/config/_env.py +21 -0
  24. schemathesis/config/_error.py +156 -0
  25. schemathesis/config/_generation.py +149 -0
  26. schemathesis/config/_health_check.py +24 -0
  27. schemathesis/config/_operations.py +327 -0
  28. schemathesis/config/_output.py +171 -0
  29. schemathesis/config/_parameters.py +19 -0
  30. schemathesis/config/_phases.py +187 -0
  31. schemathesis/config/_projects.py +523 -0
  32. schemathesis/config/_rate_limit.py +17 -0
  33. schemathesis/config/_report.py +120 -0
  34. schemathesis/config/_validator.py +9 -0
  35. schemathesis/config/_warnings.py +25 -0
  36. schemathesis/config/schema.json +885 -0
  37. schemathesis/core/__init__.py +2 -0
  38. schemathesis/core/compat.py +16 -9
  39. schemathesis/core/errors.py +24 -4
  40. schemathesis/core/failures.py +6 -7
  41. schemathesis/core/hooks.py +20 -0
  42. schemathesis/core/output/__init__.py +14 -37
  43. schemathesis/core/output/sanitization.py +3 -146
  44. schemathesis/core/transport.py +36 -1
  45. schemathesis/core/validation.py +16 -0
  46. schemathesis/engine/__init__.py +2 -4
  47. schemathesis/engine/context.py +42 -43
  48. schemathesis/engine/core.py +7 -5
  49. schemathesis/engine/errors.py +60 -1
  50. schemathesis/engine/events.py +10 -2
  51. schemathesis/engine/phases/__init__.py +10 -0
  52. schemathesis/engine/phases/probes.py +11 -8
  53. schemathesis/engine/phases/stateful/__init__.py +2 -1
  54. schemathesis/engine/phases/stateful/_executor.py +104 -46
  55. schemathesis/engine/phases/stateful/context.py +2 -2
  56. schemathesis/engine/phases/unit/__init__.py +23 -15
  57. schemathesis/engine/phases/unit/_executor.py +110 -21
  58. schemathesis/engine/phases/unit/_pool.py +1 -1
  59. schemathesis/errors.py +2 -0
  60. schemathesis/filters.py +2 -3
  61. schemathesis/generation/__init__.py +5 -33
  62. schemathesis/generation/case.py +6 -3
  63. schemathesis/generation/coverage.py +154 -124
  64. schemathesis/generation/hypothesis/builder.py +70 -20
  65. schemathesis/generation/meta.py +3 -3
  66. schemathesis/generation/metrics.py +93 -0
  67. schemathesis/generation/modes.py +0 -8
  68. schemathesis/generation/overrides.py +37 -1
  69. schemathesis/generation/stateful/__init__.py +4 -0
  70. schemathesis/generation/stateful/state_machine.py +9 -1
  71. schemathesis/graphql/loaders.py +159 -16
  72. schemathesis/hooks.py +62 -35
  73. schemathesis/openapi/checks.py +12 -8
  74. schemathesis/openapi/generation/filters.py +10 -8
  75. schemathesis/openapi/loaders.py +142 -17
  76. schemathesis/pytest/lazy.py +2 -5
  77. schemathesis/pytest/loaders.py +24 -0
  78. schemathesis/pytest/plugin.py +33 -2
  79. schemathesis/schemas.py +21 -66
  80. schemathesis/specs/graphql/scalars.py +37 -3
  81. schemathesis/specs/graphql/schemas.py +23 -18
  82. schemathesis/specs/openapi/_hypothesis.py +26 -28
  83. schemathesis/specs/openapi/checks.py +37 -36
  84. schemathesis/specs/openapi/examples.py +4 -3
  85. schemathesis/specs/openapi/formats.py +32 -5
  86. schemathesis/specs/openapi/media_types.py +44 -1
  87. schemathesis/specs/openapi/negative/__init__.py +2 -2
  88. schemathesis/specs/openapi/patterns.py +46 -16
  89. schemathesis/specs/openapi/references.py +2 -3
  90. schemathesis/specs/openapi/schemas.py +19 -22
  91. schemathesis/specs/openapi/stateful/__init__.py +12 -6
  92. schemathesis/transport/__init__.py +54 -16
  93. schemathesis/transport/prepare.py +38 -13
  94. schemathesis/transport/requests.py +12 -9
  95. schemathesis/transport/wsgi.py +11 -12
  96. {schemathesis-4.0.0a10.dist-info → schemathesis-4.0.0a12.dist-info}/METADATA +50 -97
  97. schemathesis-4.0.0a12.dist-info/RECORD +164 -0
  98. schemathesis/cli/commands/run/checks.py +0 -79
  99. schemathesis/cli/commands/run/hypothesis.py +0 -78
  100. schemathesis/cli/commands/run/reports.py +0 -72
  101. schemathesis/cli/hooks.py +0 -36
  102. schemathesis/contrib/__init__.py +0 -9
  103. schemathesis/contrib/openapi/__init__.py +0 -9
  104. schemathesis/contrib/openapi/fill_missing_examples.py +0 -20
  105. schemathesis/engine/config.py +0 -59
  106. schemathesis/experimental/__init__.py +0 -72
  107. schemathesis/generation/targets.py +0 -69
  108. schemathesis-4.0.0a10.dist-info/RECORD +0 -153
  109. {schemathesis-4.0.0a10.dist-info → schemathesis-4.0.0a12.dist-info}/WHEEL +0 -0
  110. {schemathesis-4.0.0a10.dist-info → schemathesis-4.0.0a12.dist-info}/entry_points.txt +0 -0
  111. {schemathesis-4.0.0a10.dist-info → schemathesis-4.0.0a12.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,885 @@
1
+ {
2
+ "type": "object",
3
+ "additionalProperties": false,
4
+ "properties": {
5
+ "color": {
6
+ "description": "Controls ANSI color output in the CLI. Schemathesis auto-detects color support by default. Set to true to force color output or false to disable it.",
7
+ "type": "boolean"
8
+ },
9
+ "suppress-health-check": {
10
+ "description": "Specifies a list of health checks to disable during test execution.",
11
+ "type": "array",
12
+ "uniqueItems": true,
13
+ "items": {
14
+ "enum": [
15
+ "data_too_large",
16
+ "filter_too_much",
17
+ "too_slow",
18
+ "large_base_example",
19
+ "all"
20
+ ]
21
+ }
22
+ },
23
+ "seed": {
24
+ "type": "integer"
25
+ },
26
+ "max-failures": {
27
+ "type": "integer",
28
+ "minimum": 1
29
+ },
30
+ "reports": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "properties": {
34
+ "directory": {
35
+ "type": "string"
36
+ },
37
+ "preserve-bytes": {
38
+ "type": "boolean"
39
+ },
40
+ "junit": {
41
+ "$ref": "#/$defs/ReportConfig"
42
+ },
43
+ "har": {
44
+ "$ref": "#/$defs/ReportConfig"
45
+ },
46
+ "vcr": {
47
+ "$ref": "#/$defs/ReportConfig"
48
+ }
49
+ }
50
+ },
51
+ "output": {
52
+ "$ref": "#/$defs/OutputConfig"
53
+ },
54
+ "base-url": {
55
+ "type": "string"
56
+ },
57
+ "parameters": {
58
+ "type": "object"
59
+ },
60
+ "generation": {
61
+ "$ref": "#/$defs/GenerationConfig"
62
+ },
63
+ "checks": {
64
+ "$ref": "#/$defs/ChecksConfig"
65
+ },
66
+ "phases": {
67
+ "$ref": "#/$defs/PhasesConfig"
68
+ },
69
+ "auth": {
70
+ "$ref": "#/$defs/AuthConfig"
71
+ },
72
+ "operations": {
73
+ "type": "array",
74
+ "items": {
75
+ "$ref": "#/$defs/OperationConfig"
76
+ }
77
+ },
78
+ "project": {
79
+ "type": "array",
80
+ "items": {
81
+ "$ref": "#/$defs/ProjectConfig"
82
+ }
83
+ },
84
+ "headers": {
85
+ "additionalProperties": {
86
+ "type": "string"
87
+ },
88
+ "type": "object"
89
+ },
90
+ "hooks": {
91
+ "type": "string"
92
+ },
93
+ "proxy": {
94
+ "type": "string"
95
+ },
96
+ "workers": {
97
+ "type": "integer"
98
+ },
99
+ "wait-for-schema": {
100
+ "type": "number",
101
+ "minimum": 1
102
+ },
103
+ "continue-on-failure": {
104
+ "type": "boolean"
105
+ },
106
+ "tls-verify": {
107
+ "type": [
108
+ "boolean",
109
+ "string"
110
+ ]
111
+ },
112
+ "rate-limit": {
113
+ "type": "string"
114
+ },
115
+ "request-timeout": {
116
+ "type": "number",
117
+ "minimum": 0
118
+ },
119
+ "request-cert": {
120
+ "type": "string"
121
+ },
122
+ "request-cert-key": {
123
+ "type": "string"
124
+ },
125
+ "warnings": {
126
+ "$ref": "#/$defs/WarningConfig"
127
+ }
128
+ },
129
+ "$defs": {
130
+ "ReportConfig": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "properties": {
134
+ "enabled": {
135
+ "type": "boolean"
136
+ },
137
+ "path": {
138
+ "type": "string"
139
+ }
140
+ }
141
+ },
142
+ "AuthConfig": {
143
+ "type": "object",
144
+ "additionalProperties": false,
145
+ "properties": {
146
+ "basic": {
147
+ "type": "object",
148
+ "properties": {
149
+ "username": {
150
+ "type": "string"
151
+ },
152
+ "password": {
153
+ "type": "string"
154
+ }
155
+ },
156
+ "required": [
157
+ "username",
158
+ "password"
159
+ ],
160
+ "additionalProperties": false
161
+ }
162
+ }
163
+ },
164
+ "ChecksConfig": {
165
+ "type": "object",
166
+ "additionalProperties": false,
167
+ "properties": {
168
+ "enabled": {
169
+ "type": "boolean"
170
+ },
171
+ "not_a_server_error": {
172
+ "$ref": "#/$defs/CheckConfig"
173
+ },
174
+ "status_code_conformance": {
175
+ "$ref": "#/$defs/SimpleCheckConfig"
176
+ },
177
+ "content_type_conformance": {
178
+ "$ref": "#/$defs/SimpleCheckConfig"
179
+ },
180
+ "response_schema_conformance": {
181
+ "$ref": "#/$defs/SimpleCheckConfig"
182
+ },
183
+ "response_headers_conformance": {
184
+ "$ref": "#/$defs/SimpleCheckConfig"
185
+ },
186
+ "positive_data_acceptance": {
187
+ "$ref": "#/$defs/CheckConfig"
188
+ },
189
+ "negative_data_rejection": {
190
+ "$ref": "#/$defs/CheckConfig"
191
+ },
192
+ "use_after_free": {
193
+ "$ref": "#/$defs/SimpleCheckConfig"
194
+ },
195
+ "ensure_resource_availability": {
196
+ "$ref": "#/$defs/SimpleCheckConfig"
197
+ },
198
+ "missing_required_header": {
199
+ "$ref": "#/$defs/CheckConfig"
200
+ },
201
+ "ignored_auth": {
202
+ "$ref": "#/$defs/SimpleCheckConfig"
203
+ },
204
+ "unsupported_method": {
205
+ "$ref": "#/$defs/SimpleCheckConfig"
206
+ },
207
+ "max_response_time": {
208
+ "$ref": "#/$defs/MaxResponseTimeConfig"
209
+ }
210
+ }
211
+ },
212
+ "SimpleCheckConfig": {
213
+ "type": "object",
214
+ "additionalProperties": false,
215
+ "properties": {
216
+ "enabled": {
217
+ "type": "boolean"
218
+ }
219
+ }
220
+ },
221
+ "MaxResponseTimeConfig": {
222
+ "type": "number",
223
+ "minimum": 0
224
+ },
225
+ "CheckConfig": {
226
+ "type": "object",
227
+ "additionalProperties": false,
228
+ "properties": {
229
+ "enabled": {
230
+ "type": "boolean"
231
+ },
232
+ "expected-statuses": {
233
+ "type": "array",
234
+ "items": {
235
+ "type": [
236
+ "integer",
237
+ "string"
238
+ ]
239
+ }
240
+ }
241
+ }
242
+ },
243
+ "PhasesConfig": {
244
+ "type": "object",
245
+ "additionalProperties": false,
246
+ "properties": {
247
+ "examples": {
248
+ "$ref": "#/$defs/ExamplesPhaseConfig"
249
+ },
250
+ "coverage": {
251
+ "$ref": "#/$defs/CoveragePhaseConfig"
252
+ },
253
+ "fuzzing": {
254
+ "$ref": "#/$defs/PhaseConfig"
255
+ },
256
+ "stateful": {
257
+ "$ref": "#/$defs/StatefulPhaseConfig"
258
+ }
259
+ }
260
+ },
261
+ "PhaseConfig": {
262
+ "type": "object",
263
+ "additionalProperties": false,
264
+ "properties": {
265
+ "enabled": {
266
+ "type": "boolean"
267
+ },
268
+ "generation": {
269
+ "$ref": "#/$defs/GenerationConfig"
270
+ },
271
+ "checks": {
272
+ "$ref": "#/$defs/ChecksConfig"
273
+ }
274
+ }
275
+ },
276
+ "ExamplesPhaseConfig": {
277
+ "type": "object",
278
+ "additionalProperties": false,
279
+ "properties": {
280
+ "enabled": {
281
+ "type": "boolean"
282
+ },
283
+ "fill-missing": {
284
+ "type": "boolean"
285
+ },
286
+ "generation": {
287
+ "$ref": "#/$defs/GenerationConfig"
288
+ },
289
+ "checks": {
290
+ "$ref": "#/$defs/ChecksConfig"
291
+ }
292
+ }
293
+ },
294
+ "StatefulPhaseConfig": {
295
+ "type": "object",
296
+ "additionalProperties": false,
297
+ "properties": {
298
+ "enabled": {
299
+ "type": "boolean"
300
+ },
301
+ "max-steps": {
302
+ "type": "integer",
303
+ "minimum": 2
304
+ },
305
+ "generation": {
306
+ "$ref": "#/$defs/GenerationConfig"
307
+ },
308
+ "checks": {
309
+ "$ref": "#/$defs/ChecksConfig"
310
+ }
311
+ }
312
+ },
313
+ "CoveragePhaseConfig": {
314
+ "type": "object",
315
+ "additionalProperties": false,
316
+ "properties": {
317
+ "enabled": {
318
+ "type": "boolean"
319
+ },
320
+ "generate-duplicate-query-parameters": {
321
+ "type": "boolean"
322
+ },
323
+ "unexpected-methods": {
324
+ "type": "array",
325
+ "items": {
326
+ "type": "string",
327
+ "pattern": "(?i)(?:GET|PUT|POST|DELETE|OPTIONS|PATCH|TRACE)"
328
+ },
329
+ "uniqueItems": true
330
+ },
331
+ "generation": {
332
+ "$ref": "#/$defs/GenerationConfig"
333
+ },
334
+ "checks": {
335
+ "$ref": "#/$defs/ChecksConfig"
336
+ }
337
+ }
338
+ },
339
+ "GenerationConfig": {
340
+ "type": "object",
341
+ "additionalProperties": false,
342
+ "properties": {
343
+ "mode": {
344
+ "enum": [
345
+ "positive",
346
+ "negative",
347
+ "all"
348
+ ]
349
+ },
350
+ "max-examples": {
351
+ "type": "integer"
352
+ },
353
+ "no-shrink": {
354
+ "type": "boolean"
355
+ },
356
+ "deterministic": {
357
+ "type": "boolean"
358
+ },
359
+ "allow-x00": {
360
+ "type": "boolean"
361
+ },
362
+ "codec": {
363
+ "type": "string"
364
+ },
365
+ "exclude-header-characters": {
366
+ "type": "string"
367
+ },
368
+ "maximize": {
369
+ "anyOf": [
370
+ {
371
+ "enum": [
372
+ "response_time"
373
+ ]
374
+ },
375
+ {
376
+ "type": "array",
377
+ "items": {
378
+ "enum": [
379
+ "response_time"
380
+ ]
381
+ }
382
+ }
383
+ ]
384
+ },
385
+ "with-security-parameters": {
386
+ "type": "boolean"
387
+ },
388
+ "graphql-allow-null": {
389
+ "type": "boolean"
390
+ },
391
+ "database": {
392
+ "type": "string"
393
+ },
394
+ "unique-inputs": {
395
+ "type": "boolean"
396
+ }
397
+ }
398
+ },
399
+ "OutputConfig": {
400
+ "type": "object",
401
+ "additionalProperties": false,
402
+ "properties": {
403
+ "sanitization": {
404
+ "type": "object",
405
+ "additionalProperties": false,
406
+ "properties": {
407
+ "enabled": {
408
+ "type": "boolean"
409
+ },
410
+ "keys-to-sanitize": {
411
+ "type": "array",
412
+ "items": {
413
+ "type": "string"
414
+ }
415
+ },
416
+ "sensitive-markers": {
417
+ "type": "array",
418
+ "items": {
419
+ "type": "string"
420
+ }
421
+ },
422
+ "replacement": {
423
+ "type": "string"
424
+ }
425
+ }
426
+ },
427
+ "truncation": {
428
+ "type": "object",
429
+ "additionalProperties": false,
430
+ "properties": {
431
+ "enabled": {
432
+ "type": "boolean"
433
+ },
434
+ "max-payload-size": {
435
+ "type": "integer",
436
+ "minimum": 1
437
+ },
438
+ "max-lines": {
439
+ "type": "integer",
440
+ "minimum": 1
441
+ },
442
+ "max-width": {
443
+ "type": "integer",
444
+ "minimum": 1
445
+ }
446
+ }
447
+ }
448
+ }
449
+ },
450
+ "ProjectConfig": {
451
+ "type": "object",
452
+ "additionalProperties": false,
453
+ "properties": {
454
+ "title": {
455
+ "type": "string"
456
+ },
457
+ "base-url": {
458
+ "type": "string"
459
+ },
460
+ "parameters": {
461
+ "type": "object"
462
+ },
463
+ "generation": {
464
+ "$ref": "#/$defs/GenerationConfig"
465
+ },
466
+ "checks": {
467
+ "$ref": "#/$defs/ChecksConfig"
468
+ },
469
+ "phases": {
470
+ "$ref": "#/$defs/PhasesConfig"
471
+ },
472
+ "auth": {
473
+ "$ref": "#/$defs/AuthConfig"
474
+ },
475
+ "operations": {
476
+ "type": "array",
477
+ "items": {
478
+ "$ref": "#/$defs/OperationConfig"
479
+ }
480
+ },
481
+ "headers": {
482
+ "additionalProperties": {
483
+ "type": "string"
484
+ },
485
+ "type": "object"
486
+ },
487
+ "hooks": {
488
+ "type": "string"
489
+ },
490
+ "proxy": {
491
+ "type": "string"
492
+ },
493
+ "workers": {
494
+ "type": "integer"
495
+ },
496
+ "wait-for-schema": {
497
+ "type": "number",
498
+ "minimum": 1
499
+ },
500
+ "continue-on-failure": {
501
+ "type": "boolean"
502
+ },
503
+ "tls-verify": {
504
+ "type": [
505
+ "boolean",
506
+ "string"
507
+ ]
508
+ },
509
+ "rate-limit": {
510
+ "type": "string"
511
+ },
512
+ "request-timeout": {
513
+ "type": "number",
514
+ "minimum": 0
515
+ },
516
+ "request-cert": {
517
+ "type": "string"
518
+ },
519
+ "request-cert-key": {
520
+ "type": "string"
521
+ },
522
+ "warnings": {
523
+ "$ref": "#/$defs/WarningConfig"
524
+ }
525
+ },
526
+ "required": [
527
+ "title"
528
+ ]
529
+ },
530
+ "WarningConfig": {
531
+ "anyOf": [
532
+ {
533
+ "type": "boolean"
534
+ },
535
+ {
536
+ "type": "array",
537
+ "uniqueItems": true,
538
+ "items": {
539
+ "enum": [
540
+ "missing_auth",
541
+ "missing_test_data",
542
+ "validation_mismatch"
543
+ ]
544
+ }
545
+ }
546
+ ]
547
+ },
548
+ "OperationConfig": {
549
+ "type": "object",
550
+ "additionalProperties": false,
551
+ "properties": {
552
+ "enabled": {
553
+ "type": "boolean"
554
+ },
555
+ "auth": {
556
+ "$ref": "#/$defs/AuthConfig"
557
+ },
558
+ "headers": {
559
+ "additionalProperties": {
560
+ "type": "string"
561
+ },
562
+ "type": "object"
563
+ },
564
+ "proxy": {
565
+ "type": "string"
566
+ },
567
+ "continue-on-failure": {
568
+ "type": "boolean"
569
+ },
570
+ "tls-verify": {
571
+ "type": [
572
+ "boolean",
573
+ "string"
574
+ ]
575
+ },
576
+ "rate-limit": {
577
+ "type": "string"
578
+ },
579
+ "request-timeout": {
580
+ "type": "number",
581
+ "minimum": 0
582
+ },
583
+ "request-cert": {
584
+ "type": "string"
585
+ },
586
+ "request-cert-key": {
587
+ "type": "string"
588
+ },
589
+ "warnings": {
590
+ "$ref": "#/$defs/WarningConfig"
591
+ },
592
+ "checks": {
593
+ "$ref": "#/$defs/ChecksConfig"
594
+ },
595
+ "phases": {
596
+ "$ref": "#/$defs/PhasesConfig"
597
+ },
598
+ "generation": {
599
+ "$ref": "#/$defs/GenerationConfig"
600
+ },
601
+ "include-path": {
602
+ "oneOf": [
603
+ {
604
+ "type": "string"
605
+ },
606
+ {
607
+ "type": "array",
608
+ "items": {
609
+ "type": "string"
610
+ }
611
+ }
612
+ ]
613
+ },
614
+ "include-method": {
615
+ "oneOf": [
616
+ {
617
+ "type": "string"
618
+ },
619
+ {
620
+ "type": "array",
621
+ "items": {
622
+ "type": "string"
623
+ }
624
+ }
625
+ ]
626
+ },
627
+ "include-name": {
628
+ "oneOf": [
629
+ {
630
+ "type": "string"
631
+ },
632
+ {
633
+ "type": "array",
634
+ "items": {
635
+ "type": "string"
636
+ }
637
+ }
638
+ ]
639
+ },
640
+ "include-tag": {
641
+ "oneOf": [
642
+ {
643
+ "type": "string"
644
+ },
645
+ {
646
+ "type": "array",
647
+ "items": {
648
+ "type": "string"
649
+ }
650
+ }
651
+ ]
652
+ },
653
+ "include-operation-id": {
654
+ "oneOf": [
655
+ {
656
+ "type": "string"
657
+ },
658
+ {
659
+ "type": "array",
660
+ "items": {
661
+ "type": "string"
662
+ }
663
+ }
664
+ ]
665
+ },
666
+ "include-by": {
667
+ "type": "string"
668
+ },
669
+ "include-path-regex": {
670
+ "type": "string"
671
+ },
672
+ "include-name-regex": {
673
+ "type": "string"
674
+ },
675
+ "include-method-regex": {
676
+ "type": "string"
677
+ },
678
+ "include-tag-regex": {
679
+ "type": "string"
680
+ },
681
+ "include-operation-id-regex": {
682
+ "type": "string"
683
+ },
684
+ "exclude-path": {
685
+ "oneOf": [
686
+ {
687
+ "type": "string"
688
+ },
689
+ {
690
+ "type": "array",
691
+ "items": {
692
+ "type": "string"
693
+ }
694
+ }
695
+ ]
696
+ },
697
+ "exclude-method": {
698
+ "oneOf": [
699
+ {
700
+ "type": "string"
701
+ },
702
+ {
703
+ "type": "array",
704
+ "items": {
705
+ "type": "string"
706
+ }
707
+ }
708
+ ]
709
+ },
710
+ "exclude-name": {
711
+ "oneOf": [
712
+ {
713
+ "type": "string"
714
+ },
715
+ {
716
+ "type": "array",
717
+ "items": {
718
+ "type": "string"
719
+ }
720
+ }
721
+ ]
722
+ },
723
+ "exclude-tag": {
724
+ "oneOf": [
725
+ {
726
+ "type": "string"
727
+ },
728
+ {
729
+ "type": "array",
730
+ "items": {
731
+ "type": "string"
732
+ }
733
+ }
734
+ ]
735
+ },
736
+ "exclude-operation-id": {
737
+ "oneOf": [
738
+ {
739
+ "type": "string"
740
+ },
741
+ {
742
+ "type": "array",
743
+ "items": {
744
+ "type": "string"
745
+ }
746
+ }
747
+ ]
748
+ },
749
+ "exclude-by": {
750
+ "type": "string"
751
+ },
752
+ "exclude-path-regex": {
753
+ "type": "string"
754
+ },
755
+ "exclude-method-regex": {
756
+ "type": "string"
757
+ },
758
+ "exclude-name-regex": {
759
+ "type": "string"
760
+ },
761
+ "exclude-tag-regex": {
762
+ "type": "string"
763
+ },
764
+ "exclude-operation-id-regex": {
765
+ "type": "string"
766
+ },
767
+ "parameters": {
768
+ "type": "object"
769
+ }
770
+ },
771
+ "anyOf": [
772
+ {
773
+ "required": [
774
+ "include-path"
775
+ ]
776
+ },
777
+ {
778
+ "required": [
779
+ "include-method"
780
+ ]
781
+ },
782
+ {
783
+ "required": [
784
+ "include-name"
785
+ ]
786
+ },
787
+ {
788
+ "required": [
789
+ "include-tag"
790
+ ]
791
+ },
792
+ {
793
+ "required": [
794
+ "include-operation-id"
795
+ ]
796
+ },
797
+ {
798
+ "required": [
799
+ "include-by"
800
+ ]
801
+ },
802
+ {
803
+ "required": [
804
+ "include-path-regex"
805
+ ]
806
+ },
807
+ {
808
+ "required": [
809
+ "include-method-regex"
810
+ ]
811
+ },
812
+ {
813
+ "required": [
814
+ "include-name-regex"
815
+ ]
816
+ },
817
+ {
818
+ "required": [
819
+ "include-tag-regex"
820
+ ]
821
+ },
822
+ {
823
+ "required": [
824
+ "include-operation-id-regex"
825
+ ]
826
+ },
827
+ {
828
+ "required": [
829
+ "exclude-path"
830
+ ]
831
+ },
832
+ {
833
+ "required": [
834
+ "exclude-method"
835
+ ]
836
+ },
837
+ {
838
+ "required": [
839
+ "exclude-name"
840
+ ]
841
+ },
842
+ {
843
+ "required": [
844
+ "exclude-tag"
845
+ ]
846
+ },
847
+ {
848
+ "required": [
849
+ "exclude-operation-id"
850
+ ]
851
+ },
852
+ {
853
+ "required": [
854
+ "exclude-by"
855
+ ]
856
+ },
857
+ {
858
+ "required": [
859
+ "exclude-path-regex"
860
+ ]
861
+ },
862
+ {
863
+ "required": [
864
+ "exclude-method-regex"
865
+ ]
866
+ },
867
+ {
868
+ "required": [
869
+ "exclude-name-regex"
870
+ ]
871
+ },
872
+ {
873
+ "required": [
874
+ "exclude-tag-regex"
875
+ ]
876
+ },
877
+ {
878
+ "required": [
879
+ "exclude-operation-id-regex"
880
+ ]
881
+ }
882
+ ]
883
+ }
884
+ }
885
+ }