1+ {
2+ "$schema" : " http://json-schema.org/draft-07/schema#" ,
3+ "title" : " ConfigGraph" ,
4+ "type" : " object" ,
5+ "required" : [
6+ " connections" ,
7+ " moduleRequirements" ,
8+ " operations"
9+ ],
10+ "properties" : {
11+ "connections" : {
12+ "type" : " array" ,
13+ "items" : {
14+ "$ref" : " #/definitions/ConfigGraphConnection"
15+ }
16+ },
17+ "moduleConfigurations" : {
18+ "default" : [],
19+ "type" : " array" ,
20+ "items" : {
21+ "$ref" : " #/definitions/ModuleConfiguration"
22+ }
23+ },
24+ "moduleRequirements" : {
25+ "$ref" : " #/definitions/ModuleVersions"
26+ },
27+ "operations" : {
28+ "type" : " array" ,
29+ "items" : {
30+ "$ref" : " #/definitions/ConfigGraphModule"
31+ }
32+ },
33+ "schemas" : {
34+ "default" : [],
35+ "type" : " array" ,
36+ "items" : {
37+ "$ref" : " #/definitions/SchemaConfiguration"
38+ }
39+ }
40+ },
41+ "additionalProperties" : false ,
42+ "definitions" : {
43+ "BranchOutputArm" : {
44+ "type" : " string" ,
45+ "enum" : [
46+ " False" ,
47+ " True"
48+ ]
49+ },
50+ "ConfigGraphConnection" : {
51+ "type" : " object" ,
52+ "required" : [
53+ " from" ,
54+ " to"
55+ ],
56+ "properties" : {
57+ "from" : {
58+ "$ref" : " #/definitions/ConfigGraphConnectionFromPoint"
59+ },
60+ "to" : {
61+ "$ref" : " #/definitions/ConfigGraphConnectionToPoint"
62+ }
63+ },
64+ "additionalProperties" : false
65+ },
66+ "ConfigGraphConnectionFromPoint" : {
67+ "type" : " object" ,
68+ "required" : [
69+ " name"
70+ ],
71+ "properties" : {
72+ "arm" : {
73+ "anyOf" : [
74+ {
75+ "$ref" : " #/definitions/BranchOutputArm"
76+ },
77+ {
78+ "type" : " null"
79+ }
80+ ]
81+ },
82+ "name" : {
83+ "type" : " string"
84+ },
85+ "schemaName" : {
86+ "type" : [
87+ " string" ,
88+ " null"
89+ ]
90+ }
91+ },
92+ "additionalProperties" : false
93+ },
94+ "ConfigGraphConnectionOperator" : {
95+ "type" : " string" ,
96+ "enum" : [
97+ " source" ,
98+ " map" ,
99+ " filter" ,
100+ " branch" ,
101+ " concatenate" ,
102+ " accumulate" ,
103+ " delay" ,
104+ " sink"
105+ ]
106+ },
107+ "ConfigGraphConnectionToPoint" : {
108+ "type" : " object" ,
109+ "required" : [
110+ " name"
111+ ],
112+ "properties" : {
113+ "name" : {
114+ "type" : " string"
115+ }
116+ },
117+ "additionalProperties" : false
118+ },
119+ "ConfigGraphModule" : {
120+ "type" : " object" ,
121+ "required" : [
122+ " name" ,
123+ " operationType"
124+ ],
125+ "properties" : {
126+ "module" : {
127+ "type" : [
128+ " string" ,
129+ " null"
130+ ]
131+ },
132+ "name" : {
133+ "type" : " string"
134+ },
135+ "operationType" : {
136+ "$ref" : " #/definitions/ConfigGraphConnectionOperator"
137+ }
138+ },
139+ "additionalProperties" : false
140+ },
141+ "ConfigParameters" : {
142+ "type" : " object" ,
143+ "required" : [
144+ " name"
145+ ],
146+ "properties" : {
147+ "description" : {
148+ "type" : [
149+ " string" ,
150+ " null"
151+ ]
152+ },
153+ "name" : {
154+ "type" : " string"
155+ },
156+ "required" : {
157+ "default" : false ,
158+ "type" : " boolean"
159+ }
160+ }
161+ },
162+ "ModuleConfiguration" : {
163+ "type" : " object" ,
164+ "required" : [
165+ " name" ,
166+ " parameters"
167+ ],
168+ "properties" : {
169+ "name" : {
170+ "type" : " string"
171+ },
172+ "parameters" : {
173+ "type" : " object" ,
174+ "additionalProperties" : {
175+ "$ref" : " #/definitions/ConfigParameters"
176+ }
177+ }
178+ }
179+ },
180+ "ModuleVersionFeature" : {
181+ "type" : " object" ,
182+ "required" : [
183+ " name"
184+ ],
185+ "properties" : {
186+ "name" : {
187+ "type" : " string"
188+ },
189+ "value" : {
190+ "type" : [
191+ " string" ,
192+ " null"
193+ ]
194+ }
195+ },
196+ "additionalProperties" : false
197+ },
198+ "ModuleVersions" : {
199+ "type" : " object" ,
200+ "required" : [
201+ " apiVersion" ,
202+ " hostlibVersion"
203+ ],
204+ "properties" : {
205+ "apiVersion" : {
206+ "type" : " string"
207+ },
208+ "features" : {
209+ "type" : [
210+ " array" ,
211+ " null"
212+ ],
213+ "items" : {
214+ "$ref" : " #/definitions/ModuleVersionFeature"
215+ }
216+ },
217+ "hostlibVersion" : {
218+ "type" : " string"
219+ }
220+ },
221+ "additionalProperties" : false
222+ },
223+ "SchemaConfiguration" : {
224+ "type" : " object" ,
225+ "required" : [
226+ " format" ,
227+ " name" ,
228+ " schema"
229+ ],
230+ "properties" : {
231+ "format" : {
232+ "type" : " string"
233+ },
234+ "name" : {
235+ "type" : " string"
236+ },
237+ "schema" : {
238+ "type" : " string"
239+ }
240+ }
241+ }
242+ }
243+ }
0 commit comments