-
Notifications
You must be signed in to change notification settings - Fork 19
/
pool.nix
35 lines (32 loc) · 857 Bytes
/
pool.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
let
xml = import ./xml.nix;
generate = import ./generate.nix;
# https://libvirt.org/formatstorage.html
process = with generate;
elem "pool" [ (subattr "type" typeString) ]
[
(subelem "name" [ ] typeString)
(subelem "uuid" [ ] typeString)
(subelem "features" [ ]
[
(subelem "cow" [ subattr "state" typeBoolYesNo ] [ ])
])
(subelem "source" [ ]
[
(subelem "device"
[
(subattr "path" typeString)
] [ ])
(subelem "dir"
[
(subattr "path" typeString)
] [ ])
])
(subelem "target" [ ]
[
(subelem "path" [ ] typeString)
(subelem "permissions" [ ] [ ])
])
];
in
obj: xml.toText (process obj)