1{
2 "definitions": {
3 "PersonalityDomain": {
4 "type": "string",
5 "enum": [
6 "LINUX",
7 "LINUX32"
8 ]
9 },
10 "Personality": {
11 "type": "object",
12 "properties": {
13 "domain": {
14 "$ref": "#/definitions/PersonalityDomain"
15 },
16 "flags": {
17 "$ref": "defs.json#/definitions/ArrayOfStrings"
18 }
19 }
20 },
21 "RootfsPropagation": {
22 "type": "string",
23 "enum": [
24 "private",
25 "shared",
26 "slave",
27 "unbindable"
28 ]
29 },
30 "SeccompArch": {
31 "type": "string",
32 "enum": [
33 "SCMP_ARCH_X86",
34 "SCMP_ARCH_X86_64",
35 "SCMP_ARCH_X32",
36 "SCMP_ARCH_ARM",
37 "SCMP_ARCH_AARCH64",
38 "SCMP_ARCH_MIPS",
39 "SCMP_ARCH_MIPS64",
40 "SCMP_ARCH_MIPS64N32",
41 "SCMP_ARCH_MIPSEL",
42 "SCMP_ARCH_MIPSEL64",
43 "SCMP_ARCH_MIPSEL64N32",
44 "SCMP_ARCH_PPC",
45 "SCMP_ARCH_PPC64",
46 "SCMP_ARCH_PPC64LE",
47 "SCMP_ARCH_S390",
48 "SCMP_ARCH_S390X",
49 "SCMP_ARCH_PARISC",
50 "SCMP_ARCH_PARISC64",
51 "SCMP_ARCH_RISCV64"
52 ]
53 },
54 "SeccompAction": {
55 "type": "string",
56 "enum": [
57 "SCMP_ACT_KILL",
58 "SCMP_ACT_KILL_PROCESS",
59 "SCMP_ACT_KILL_THREAD",
60 "SCMP_ACT_TRAP",
61 "SCMP_ACT_ERRNO",
62 "SCMP_ACT_TRACE",
63 "SCMP_ACT_ALLOW",
64 "SCMP_ACT_LOG",
65 "SCMP_ACT_NOTIFY"
66 ]
67 },
68 "SeccompFlag": {
69 "type": "string",
70 "enum": [
71 "SECCOMP_FILTER_FLAG_TSYNC",
72 "SECCOMP_FILTER_FLAG_LOG",
73 "SECCOMP_FILTER_FLAG_SPEC_ALLOW",
74 "SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV"
75 ]
76 },
77 "SeccompOperators": {
78 "type": "string",
79 "enum": [
80 "SCMP_CMP_NE",
81 "SCMP_CMP_LT",
82 "SCMP_CMP_LE",
83 "SCMP_CMP_EQ",
84 "SCMP_CMP_GE",
85 "SCMP_CMP_GT",
86 "SCMP_CMP_MASKED_EQ"
87 ]
88 },
89 "SyscallArg": {
90 "type": "object",
91 "properties": {
92 "index": {
93 "$ref": "defs.json#/definitions/uint32"
94 },
95 "value": {
96 "$ref": "defs.json#/definitions/uint64"
97 },
98 "valueTwo": {
99 "$ref": "defs.json#/definitions/uint64"
100 },
101 "op": {
102 "$ref": "#/definitions/SeccompOperators"
103 }
104 },
105 "required": [
106 "index",
107 "value",
108 "op"
109 ]
110 },
111 "Syscall": {
112 "type": "object",
113 "properties": {
114 "names": {
115 "type": "array",
116 "items": {
117 "type": "string"
118 },
119 "minItems": 1
120 },
121 "action": {
122 "$ref": "#/definitions/SeccompAction"
123 },
124 "errnoRet": {
125 "$ref": "defs.json#/definitions/uint32"
126 },
127 "args": {
128 "type": "array",
129 "items": {
130 "$ref": "#/definitions/SyscallArg"
131 }
132 }
133 },
134 "required": [
135 "names",
136 "action"
137 ]
138 },
139 "Major": {
140 "description": "major device number",
141 "$ref": "defs.json#/definitions/int64"
142 },
143 "Minor": {
144 "description": "minor device number",
145 "$ref": "defs.json#/definitions/int64"
146 },
147 "FileMode": {
148 "description": "File permissions mode (typically an octal value)",
149 "type": "integer",
150 "minimum": 0,
151 "maximum": 512
152 },
153 "FileType": {
154 "description": "Type of a block or special character device",
155 "type": "string",
156 "pattern": "^[cbup]$"
157 },
158 "Device": {
159 "type": "object",
160 "required": [
161 "type",
162 "path"
163 ],
164 "properties": {
165 "type": {
166 "$ref": "#/definitions/FileType"
167 },
168 "path": {
169 "$ref": "defs.json#/definitions/FilePath"
170 },
171 "fileMode": {
172 "$ref": "#/definitions/FileMode"
173 },
174 "major": {
175 "$ref": "#/definitions/Major"
176 },
177 "minor": {
178 "$ref": "#/definitions/Minor"
179 },
180 "uid": {
181 "$ref": "defs.json#/definitions/UID"
182 },
183 "gid": {
184 "$ref": "defs.json#/definitions/GID"
185 }
186 }
187 },
188 "weight": {
189 "$ref": "defs.json#/definitions/uint16"
190 },
191 "blockIODevice": {
192 "type": "object",
193 "properties": {
194 "major": {
195 "$ref": "#/definitions/Major"
196 },
197 "minor": {
198 "$ref": "#/definitions/Minor"
199 }
200 },
201 "required": [
202 "major",
203 "minor"
204 ]
205 },
206 "blockIODeviceWeight": {
207 "type": "object",
208 "allOf": [
209 {
210 "$ref": "#/definitions/blockIODevice"
211 },
212 {
213 "type": "object",
214 "properties": {
215 "weight": {
216 "$ref": "#/definitions/weight"
217 },
218 "leafWeight": {
219 "$ref": "#/definitions/weight"
220 }
221 }
222 }
223 ]
224 },
225 "blockIODeviceThrottle": {
226 "allOf": [
227 {
228 "$ref": "#/definitions/blockIODevice"
229 },
230 {
231 "type": "object",
232 "properties": {
233 "rate": {
234 "$ref": "defs.json#/definitions/uint64"
235 }
236 }
237 }
238 ]
239 },
240 "DeviceCgroup": {
241 "type": "object",
242 "properties": {
243 "allow": {
244 "type": "boolean"
245 },
246 "type": {
247 "type": "string"
248 },
249 "major": {
250 "$ref": "#/definitions/Major"
251 },
252 "minor": {
253 "$ref": "#/definitions/Minor"
254 },
255 "access": {
256 "type": "string"
257 }
258 },
259 "required": [
260 "allow"
261 ]
262 },
263 "NetworkInterfacePriority": {
264 "type": "object",
265 "properties": {
266 "name": {
267 "type": "string"
268 },
269 "priority": {
270 "$ref": "defs.json#/definitions/uint32"
271 }
272 },
273 "required": [
274 "name",
275 "priority"
276 ]
277 },
278 "Rdma": {
279 "type": "object",
280 "properties": {
281 "hcaHandles": {
282 "$ref": "defs.json#/definitions/uint32"
283 },
284 "hcaObjects": {
285 "$ref": "defs.json#/definitions/uint32"
286 }
287 }
288 },
289 "NamespaceType": {
290 "type": "string",
291 "enum": [
292 "mount",
293 "pid",
294 "network",
295 "uts",
296 "ipc",
297 "user",
298 "cgroup",
299 "time"
300 ]
301 },
302 "NamespaceReference": {
303 "type": "object",
304 "properties": {
305 "type": {
306 "$ref": "#/definitions/NamespaceType"
307 },
308 "path": {
309 "$ref": "defs.json#/definitions/FilePath"
310 }
311 },
312 "required": [
313 "type"
314 ]
315 },
316 "TimeOffsets": {
317 "type": "object",
318 "properties": {
319 "secs": {
320 "$ref": "defs.json#/definitions/int64"
321 },
322 "nanosecs": {
323 "$ref": "defs.json#/definitions/uint32"
324 }
325 }
326 },
327 "SchedulerPolicy": {
328 "type": "string",
329 "enum": [
330 "SCHED_OTHER",
331 "SCHED_FIFO",
332 "SCHED_RR",
333 "SCHED_BATCH",
334 "SCHED_ISO",
335 "SCHED_IDLE",
336 "SCHED_DEADLINE"
337 ]
338 },
339 "SchedulerFlag": {
340 "type": "string",
341 "enum": [
342 "SCHED_FLAG_RESET_ON_FORK",
343 "SCHED_FLAG_RECLAIM",
344 "SCHED_FLAG_DL_OVERRUN",
345 "SCHED_FLAG_KEEP_POLICY",
346 "SCHED_FLAG_KEEP_PARAMS",
347 "SCHED_FLAG_UTIL_CLAMP_MIN",
348 "SCHED_FLAG_UTIL_CLAMP_MAX"
349 ]
350 }
351 }
352}
View as plain text