blob: c023f1c88cdd239b8b371a3af9774eac3b250330 [file] [log] [blame]
Michael Landof5f13c42017-02-19 12:35:04 +02001{
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "type": "object",
4 "properties": {
5 "general": {
6 "type": "object",
7 "properties": {
8 "hypervisor": {
9 "type": "object",
10 "properties": {
11 "hypervisor": {
12 "type": "string",
13 "enum": [
14 "KVM",
15 "VMWare ESXi"
16 ],
17 "default": "KVM"
18 },
19 "drivers": {
20 "type": "string",
21 "maxLength": 300,
22 "pattern": "^[A-Za-z0-9_,-]*$"
23 },
24 "containerFeaturesDescription": {
25 "type": "string",
26 "maxLength": 1000,
27 "pattern": "^[A-Za-z0-9_, -]*$"
28 }
29 },
30 "additionalProperties": false
31 },
32 "image": {
33 "type": "object",
34 "properties": {
Michael Landof5f13c42017-02-19 12:35:04 +020035 "providedBy": {
36 "type": "string",
37 "enum": [
Avi Zivcd8265c2017-10-16 08:23:13 +030038 "AIC",
Michael Landof5f13c42017-02-19 12:35:04 +020039 "Vendor"
40 ],
Avi Zivcd8265c2017-10-16 08:23:13 +030041 "default": "AIC"
Michael Landof5f13c42017-02-19 12:35:04 +020042 }
43 },
44 "additionalProperties": false
45 },
Avi Zivb8e2faf2017-07-18 19:45:38 +030046 "disk": {
47 "type": "object" ,
48 "properties": {
49 "bootDiskSizePerVM": {
50 "type": "number",
51 "maximum": 100
52 },
53 "ephemeralDiskSizePerVM": {
54 "type": "number",
55 "maximum": 400
56 }
57 },
58 "additionalProperties": false
59 },
Michael Landof5f13c42017-02-19 12:35:04 +020060 "recovery": {
61 "type": "object",
62 "properties": {
63 "pointObjective": {
64 "type": "number",
65 "minimum": 0,
66 "exclusiveMinimum": true,
67 "maximum": 15,
68 "exclusiveMaximum ": true
69 },
70 "timeObjective": {
71 "type": "number",
72 "minimum": 0,
73 "exclusiveMinimum": true,
74 "maximum": 300,
75 "exclusiveMaximum ": true
76 },
77 "vmProcessFailuresHandling": {
78 "type": "string"
79 }
80 },
81 "additionalProperties": false
82 },
83 "dnsConfiguration": {
84 "type": "string"
85 },
86 "vmCloneUsage": {
87 "type": "string",
AviZi280f8012017-06-09 02:39:56 +030088 "maxLength": 300
Michael Landof5f13c42017-02-19 12:35:04 +020089 }
90 },
91 "additionalProperties": false
92 },
93 "compute": {
94 "type": "object",
95 "properties": {
Michael Landof5f13c42017-02-19 12:35:04 +020096 "numOfVMs": {
97 "type": "object",
98 "properties": {
99 "minimum": {
100 "type": "number",
101 "minimum": 0,
Michael Landof5f13c42017-02-19 12:35:04 +0200102 "maximum": 100
103 },
104 "maximum": {
105 "type": "number",
106 "minimum": <#if (componentQuestionnaireData.compute.numOfVMs.minimum)??
107 && (componentQuestionnaireData.compute.numOfVMs.minimum)?is_number
108 && ((componentQuestionnaireData.compute.numOfVMs.minimum) > 0
109 && (componentQuestionnaireData.compute.numOfVMs.minimum) <= 100)>
110 ${componentQuestionnaireData.compute.numOfVMs.minimum}<#else>
111 0</#if> ,
112 "exclusiveMinimum": true,
113 "maximum": 100
Michael Landof5f13c42017-02-19 12:35:04 +0200114 }
115 },
116 "additionalProperties": false
117 },
118 "guestOS": {
119 "type": "object",
120 "properties": {
121 "name": {
122 "type": "string",
123 "maxLength": 50
124 },
125 "bitSize": {
126 "type": "number",
127 "enum": [
128 64,
129 32
130 ],
131 "default": 64
Avi Zivb8e2faf2017-07-18 19:45:38 +0300132
Michael Landof5f13c42017-02-19 12:35:04 +0200133 },
134 "tools": {
135 "type": "string"
136 }
137 },
138 "additionalProperties": false
139 }
140 },
141 "additionalProperties": false
142 },
143 "highAvailabilityAndLoadBalancing": {
144 "type": "object",
145 "properties": {
AviZi280f8012017-06-09 02:39:56 +0300146 "isComponentMandatory": {
147 "type": "string",
148 "enum": ["","YES", "NO"],
149 "default": ""
150 },
151 "highAvailabilityMode": {
152 "type": "string",
153 "enum": ["","geo-activeactive", "geo-activestandby", "local-activeactive", "local-activestandby"],
154 "default": ""
155 },
Michael Landof5f13c42017-02-19 12:35:04 +0200156 "failureLoadDistribution": {
157 "type": "string",
158 "maxLength": 1000
159 },
160 "nkModelImplementation": {
161 "type": "string",
162 "maxLength": 1000
163 },
164 "architectureChoice": {
165 "type": "string",
166 "maxLength": 1000
167 },
168 "slaRequirements": {
169 "type": "string",
170 "maxLength": 1000
171 },
172 "horizontalScaling": {
173 "type": "string",
174 "maxLength": 1000
175 },
176 "loadDistributionMechanism": {
177 "type": "string",
178 "maxLength": 1000
179 }
180 },
181 "additionalProperties": false
182 },
183 "network": {
184 "type": "object",
185 "properties": {
186 "networkCapacity": {
187 "type": "object",
188 "properties": {
189 "protocolWithHighestTrafficProfileAcrossAllNICs": {
190 "type": "string",
191 "enum": [
192 "",
193 "TCP",
194 "UDP",
195 "SCTP",
196 "IPsec"
197 ],
198 "default": ""
199 },
200 "networkTransactionsPerSecond": {
201 "type": "number"
202 }
203 },
204 "additionalProperties": false
205 }
206 },
207 "additionalProperties": false
208 },
209 "storage": {
210 "type": "object",
211 "properties": {
212 "backup": {
213 "type": "object",
214 "properties": {
215 "backupType": {
216 "type": "string",
217 "enum": [
218 "On Site",
219 "Off Site"
220 ],
221 "default": "On Site"
222 },
223 "backupStorageSize": {
224 "type": "number"
225 },
226 "backupSolution": {
227 "type": "string"
228 },
229 "backupNIC": {
230 "type": "string",
231 "enum": [
AviZi280f8012017-06-09 02:39:56 +0300232 ""<#if nicNames??><#list nicNames as nicName>
233 , "${nicName}"</#list></#if>
Michael Landof5f13c42017-02-19 12:35:04 +0200234 ],
235 "default": ""
236 }
237 },
238 "additionalProperties": false
239 },
240 "snapshotBackup": {
241 "type": "object",
242 "properties": {
243 "snapshotFrequency": {
244 "type": "number",
245 "default": 24,
246 "minimum": 1,
247 "exclusiveMinimum": true
248 }
249 },
250 "additionalProperties": false
251 },
252 "logBackup": {
253 "type": "object",
254 "properties": {
255 "sizeOfLogFiles": {
256 "type": "number",
257 "maximum": 5,
258 "exclusiveMaximum": true
259 },
260 "logBackupFrequency": {
261 "type": "number",
262 "maximum": 4,
263 "exclusiveMaximum": true
264 },
265 "logRetentionPeriod": {
266 "type": "number",
267 "maximum": 15,
268 "exclusiveMaximum": true
269 },
270 "logFileLocation": {
271 "type": "string",
272 "maxLength": 300
273 }
274 },
275 "additionalProperties": false
276 }
277 },
278 "additionalProperties": false
279 }
280 },
281 "additionalProperties": false
AviZi280f8012017-06-09 02:39:56 +0300282}