Revision 6b6e335b htools/Ganeti/HTools/Text.hs
b/htools/Ganeti/HTools/Text.hs | ||
---|---|---|
66 | 66 |
-- | Serialize a single group. |
67 | 67 |
serializeGroup :: Group.Group -> String |
68 | 68 |
serializeGroup grp = |
69 |
printf "%s|%s|%s" (Group.name grp) (Group.uuid grp) |
|
69 |
printf "%s|%s|%s|%s" (Group.name grp) (Group.uuid grp)
|
|
70 | 70 |
(allocPolicyToRaw (Group.allocPolicy grp)) |
71 |
(intercalate "," (Group.allTags grp)) |
|
71 | 72 |
|
72 | 73 |
-- | Generate group file data from a group list. |
73 | 74 |
serializeGroups :: Group.List -> String |
... | ... | |
167 | 168 |
loadGroup :: (Monad m) => [String] |
168 | 169 |
-> m (String, Group.Group) -- ^ The result, a tuple of group |
169 | 170 |
-- UUID and group object |
170 |
loadGroup [name, gid, apol] = do |
|
171 |
loadGroup [name, gid, apol, tags] = do
|
|
171 | 172 |
xapol <- allocPolicyFromRaw apol |
172 |
return (gid, Group.create name gid xapol defIPolicy) |
|
173 |
let xtags = commaSplit tags |
|
174 |
return (gid, Group.create name gid xapol defIPolicy xtags) |
|
173 | 175 |
|
174 | 176 |
loadGroup s = fail $ "Invalid/incomplete group data: '" ++ show s ++ "'" |
175 | 177 |
|
Also available in: Unified diff