blob: f5ea08b98a54e3d7ba46cf0f6c5b082472d2e163 [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 "protocols": {
6 "type": "object",
7 "properties": {
8 "protocols": {
9 "type": "array",
10 "items": {
11 "type": "string",
12 "enum": [
13 "",
14 "TCP",
15 "UDP",
16 "SCTP",
17 "IPsec"
18 ],
19 "default": ""
20 },
21 "minItems": 1
22 },
23 "protocolWithHighestTrafficProfile": {
24 "$ref": "#/properties/protocols/properties/protocols/items"
25 }
26 },
27 "additionalProperties": false
28 },
29 "ipConfiguration": {
30 "type": "object",
31 "properties": {
32 "ipv4Required": {
33 "type": "boolean",
34 "default": true
35 },
36 "ipv6Required": {
37 "type": "boolean",
38 "default": false
39 }
40 },
41 "additionalProperties": false
42 },
43 "network": {
44 "type": "object",
45 "properties": {
46 "networkDescription": {
47 "type": "string",
48 "pattern": "[A-Za-z]+",
49 "maxLength": 300
50 }
51 },
52 "additionalProperties": false
53 },
54 "sizing": {
55 "type": "object",
56 "definitions": {
57 "peakAndAvg": {
58 "type": "object",
59 "properties": {
60 "peak": {
61 "type": "number"
62 },
63 "avg": {
64 "type": "number"
65 }
66 },
67 "additionalProperties": false
68 },
69 "packetsAndBytes": {
70 "type": "object",
71 "properties": {
72 "packets": {
73 "$ref": "#/properties/sizing/definitions/peakAndAvg"
74 },
75 "bytes": {
76 "$ref": "#/properties/sizing/definitions/peakAndAvg"
77 }
78 },
79 "additionalProperties": false
80 }
81 },
82 "properties": {
83 "describeQualityOfService": {
84 "type": "string"
85 },
86 "inflowTrafficPerSecond": {
87 "$ref": "#/properties/sizing/definitions/packetsAndBytes"
88 },
89 "outflowTrafficPerSecond": {
90 "$ref": "#/properties/sizing/definitions/packetsAndBytes"
91 },
92 "flowLength": {
93 "$ref": "#/properties/sizing/definitions/packetsAndBytes"
94 },
95 "acceptableJitter": {
96 "type": "object",
97 "properties": {
98 "mean": {
99 "type": "number"
100 },
101 "max": {
102 "type": "number"
103 },
104 "variable": {
105 "type": "number"
106 }
107 },
108 "additionalProperties": false
109 },
110 "acceptablePacketLoss": {
111 "type": "number",
112 "minimum": 0,
113 "maximum": 100
114 }
115 },
116 "additionalProperties": false
117 }
118 },
119 "additionalProperties": false
120}