blob: c023f1c88cdd239b8b371a3af9774eac3b250330 [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"general": {
"type": "object",
"properties": {
"hypervisor": {
"type": "object",
"properties": {
"hypervisor": {
"type": "string",
"enum": [
"KVM",
"VMWare ESXi"
],
"default": "KVM"
},
"drivers": {
"type": "string",
"maxLength": 300,
"pattern": "^[A-Za-z0-9_,-]*$"
},
"containerFeaturesDescription": {
"type": "string",
"maxLength": 1000,
"pattern": "^[A-Za-z0-9_, -]*$"
}
},
"additionalProperties": false
},
"image": {
"type": "object",
"properties": {
"providedBy": {
"type": "string",
"enum": [
"AIC",
"Vendor"
],
"default": "AIC"
}
},
"additionalProperties": false
},
"disk": {
"type": "object" ,
"properties": {
"bootDiskSizePerVM": {
"type": "number",
"maximum": 100
},
"ephemeralDiskSizePerVM": {
"type": "number",
"maximum": 400
}
},
"additionalProperties": false
},
"recovery": {
"type": "object",
"properties": {
"pointObjective": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 15,
"exclusiveMaximum ": true
},
"timeObjective": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 300,
"exclusiveMaximum ": true
},
"vmProcessFailuresHandling": {
"type": "string"
}
},
"additionalProperties": false
},
"dnsConfiguration": {
"type": "string"
},
"vmCloneUsage": {
"type": "string",
"maxLength": 300
}
},
"additionalProperties": false
},
"compute": {
"type": "object",
"properties": {
"numOfVMs": {
"type": "object",
"properties": {
"minimum": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"maximum": {
"type": "number",
"minimum": <#if (componentQuestionnaireData.compute.numOfVMs.minimum)??
&& (componentQuestionnaireData.compute.numOfVMs.minimum)?is_number
&& ((componentQuestionnaireData.compute.numOfVMs.minimum) > 0
&& (componentQuestionnaireData.compute.numOfVMs.minimum) <= 100)>
${componentQuestionnaireData.compute.numOfVMs.minimum}<#else>
0</#if> ,
"exclusiveMinimum": true,
"maximum": 100
}
},
"additionalProperties": false
},
"guestOS": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 50
},
"bitSize": {
"type": "number",
"enum": [
64,
32
],
"default": 64
},
"tools": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"highAvailabilityAndLoadBalancing": {
"type": "object",
"properties": {
"isComponentMandatory": {
"type": "string",
"enum": ["","YES", "NO"],
"default": ""
},
"highAvailabilityMode": {
"type": "string",
"enum": ["","geo-activeactive", "geo-activestandby", "local-activeactive", "local-activestandby"],
"default": ""
},
"failureLoadDistribution": {
"type": "string",
"maxLength": 1000
},
"nkModelImplementation": {
"type": "string",
"maxLength": 1000
},
"architectureChoice": {
"type": "string",
"maxLength": 1000
},
"slaRequirements": {
"type": "string",
"maxLength": 1000
},
"horizontalScaling": {
"type": "string",
"maxLength": 1000
},
"loadDistributionMechanism": {
"type": "string",
"maxLength": 1000
}
},
"additionalProperties": false
},
"network": {
"type": "object",
"properties": {
"networkCapacity": {
"type": "object",
"properties": {
"protocolWithHighestTrafficProfileAcrossAllNICs": {
"type": "string",
"enum": [
"",
"TCP",
"UDP",
"SCTP",
"IPsec"
],
"default": ""
},
"networkTransactionsPerSecond": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"storage": {
"type": "object",
"properties": {
"backup": {
"type": "object",
"properties": {
"backupType": {
"type": "string",
"enum": [
"On Site",
"Off Site"
],
"default": "On Site"
},
"backupStorageSize": {
"type": "number"
},
"backupSolution": {
"type": "string"
},
"backupNIC": {
"type": "string",
"enum": [
""<#if nicNames??><#list nicNames as nicName>
, "${nicName}"</#list></#if>
],
"default": ""
}
},
"additionalProperties": false
},
"snapshotBackup": {
"type": "object",
"properties": {
"snapshotFrequency": {
"type": "number",
"default": 24,
"minimum": 1,
"exclusiveMinimum": true
}
},
"additionalProperties": false
},
"logBackup": {
"type": "object",
"properties": {
"sizeOfLogFiles": {
"type": "number",
"maximum": 5,
"exclusiveMaximum": true
},
"logBackupFrequency": {
"type": "number",
"maximum": 4,
"exclusiveMaximum": true
},
"logRetentionPeriod": {
"type": "number",
"maximum": 15,
"exclusiveMaximum": true
},
"logFileLocation": {
"type": "string",
"maxLength": 300
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}