Revision 9d0b521e src/Ganeti/OpParams.hs
b/src/Ganeti/OpParams.hs | ||
---|---|---|
311 | 311 |
, ("TagTypeNode", 'C.tagNode) |
312 | 312 |
, ("TagTypeGroup", 'C.tagNodegroup) |
313 | 313 |
, ("TagTypeCluster", 'C.tagCluster) |
314 |
, ("TagTypeNetwork", 'C.tagNetwork) |
|
314 | 315 |
]) |
315 | 316 |
$(makeJSONInstance ''TagType) |
316 | 317 |
|
... | ... | |
318 | 319 |
data TagObject = TagInstance String |
319 | 320 |
| TagNode String |
320 | 321 |
| TagGroup String |
322 |
| TagNetwork String |
|
321 | 323 |
| TagCluster |
322 | 324 |
deriving (Show, Eq) |
323 | 325 |
|
... | ... | |
327 | 329 |
tagTypeOf (TagNode {}) = TagTypeNode |
328 | 330 |
tagTypeOf (TagGroup {}) = TagTypeGroup |
329 | 331 |
tagTypeOf (TagCluster {}) = TagTypeCluster |
332 |
tagTypeOf (TagNetwork {}) = TagTypeNetwork |
|
330 | 333 |
|
331 | 334 |
-- | Gets the potential tag object name. |
332 | 335 |
tagNameOf :: TagObject -> Maybe String |
333 | 336 |
tagNameOf (TagInstance s) = Just s |
334 | 337 |
tagNameOf (TagNode s) = Just s |
335 | 338 |
tagNameOf (TagGroup s) = Just s |
339 |
tagNameOf (TagNetwork s) = Just s |
|
336 | 340 |
tagNameOf TagCluster = Nothing |
337 | 341 |
|
338 | 342 |
-- | Builds a 'TagObject' from a tag type and name. |
... | ... | |
341 | 345 |
return . TagInstance $ fromJSString s |
342 | 346 |
tagObjectFrom TagTypeNode (JSString s) = return . TagNode $ fromJSString s |
343 | 347 |
tagObjectFrom TagTypeGroup (JSString s) = return . TagGroup $ fromJSString s |
348 |
tagObjectFrom TagTypeNetwork (JSString s) = |
|
349 |
return . TagNetwork $ fromJSString s |
|
344 | 350 |
tagObjectFrom TagTypeCluster JSNull = return TagCluster |
345 | 351 |
tagObjectFrom t v = |
346 | 352 |
fail $ "Invalid tag type/name combination: " ++ show t ++ "/" ++ |
Also available in: Unified diff