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