Revision 28f19313 htools/Ganeti/HTools/Rapi.hs

b/htools/Ganeti/HTools/Rapi.hs
37 37
import Network.Curl.Types ()
38 38
#endif
39 39
import Control.Monad
40
import Text.JSON (JSObject, JSValue, fromJSObject, decodeStrict)
40
import Text.JSON (JSObject, fromJSObject, decodeStrict)
41 41
import Text.JSON.Types (JSValue(..))
42 42
import Text.Printf (printf)
43 43

  
......
104 104

  
105 105
-- | Construct an instance from a JSON object.
106 106
parseInstance :: NameAssoc
107
              -> [(String, JSValue)]
107
              -> JSRecord
108 108
              -> Result (String, Instance.Instance)
109 109
parseInstance ktn a = do
110 110
  name <- tryFromObj "Parsing new instance" a "name"
......
129 129
  return (name, inst)
130 130

  
131 131
-- | Construct a node from a JSON object.
132
parseNode :: NameAssoc -> [(String, JSValue)] -> Result (String, Node.Node)
132
parseNode :: NameAssoc -> JSRecord -> Result (String, Node.Node)
133 133
parseNode ktg a = do
134 134
  name <- tryFromObj "Parsing new node" a "name"
135 135
  let desc = "Node '" ++ name ++ "', error while parsing data"
......
154 154
  return (name, node)
155 155

  
156 156
-- | Construct a group from a JSON object.
157
parseGroup :: [(String, JSValue)] -> Result (String, Group.Group)
157
parseGroup :: JSRecord -> Result (String, Group.Group)
158 158
parseGroup a = do
159 159
  name <- tryFromObj "Parsing new group" a "name"
160 160
  let extract s = tryFromObj ("Group '" ++ name ++ "'") a s

Also available in: Unified diff