Use JSON schemas to validate the layout and types of the YAML config.
[barectf.git] / barectf / schemas / 2 / config / config-pre-field-type-expansion.yaml
1 # The MIT License (MIT)
2 #
3 # Copyright (c) 2020 Philippe Proulx <pproulx@efficios.com>
4 #
5 # Permission is hereby granted, free of charge, to any person obtaining
6 # a copy of this software and associated documentation files (the
7 # "Software"), to deal in the Software without restriction, including
8 # without limitation the rights to use, copy, modify, merge, publish,
9 # distribute, sublicense, and/or sell copies of the Software, and to
10 # permit persons to whom the Software is furnished to do so, subject to
11 # the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be
14 # included in all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24 $schema: http://json-schema.org/draft-07/schema#
25 $id: https://barectf.org/schemas/2/config/config-pre-field-type-expansion.json
26 title: Configuration object before field type expansions
27 definitions:
28 partial-field-type:
29 title: Partial field type object
30 oneOf:
31 - type: string
32 - type: object
33 allOf:
34 - oneOf:
35 - properties:
36 class:
37 type: string
38 required:
39 - class
40 - properties:
41 inherit:
42 type: string
43 required:
44 - inherit
45 - properties:
46 $inherit:
47 type: string
48 required:
49 - $inherit
50 - properties:
51 value-type:
52 $ref: '#/definitions/partial-field-type'
53 element-type:
54 $ref: '#/definitions/partial-field-type'
55 fields:
56 type: object
57 patternProperties:
58 '':
59 $ref: '#/definitions/partial-field-type'
60 - type: 'null'
61 type: object
62 properties:
63 metadata:
64 title: Metadata object before field type expansions
65 type: object
66 properties:
67 type-aliases:
68 title: Type aliases object before field type expansions
69 type: object
70 patternProperties:
71 '':
72 $ref: '#/definitions/partial-field-type'
73 trace:
74 title: Trace object before field type expansions
75 type: object
76 properties:
77 packet-header-type:
78 $ref: '#/definitions/partial-field-type'
79 streams:
80 title: Streams object before field type expansions
81 type: object
82 patternProperties:
83 '':
84 title: Stream object before field type expansions
85 type: object
86 properties:
87 packet-context-type:
88 $ref: '#/definitions/partial-field-type'
89 event-header-type:
90 $ref: '#/definitions/partial-field-type'
91 event-context-type:
92 $ref: '#/definitions/partial-field-type'
93 events:
94 type: object
95 patternProperties:
96 '':
97 type: object
98 properties:
99 context-type:
100 $ref: '#/definitions/partial-field-type'
101 payload-type:
102 $ref: '#/definitions/partial-field-type'
103 required:
104 - events
105 required:
106 - trace
107 - streams
108 required:
109 - metadata
This page took 0.038144 seconds and 4 git commands to generate.