Revision f4f6eb0b Ganeti/HTools/Rapi.hs

b/Ganeti/HTools/Rapi.hs
147 147

  
148 148
-- | Builds the cluster data from the raw Rapi content
149 149
parseData :: (Result String, Result String, Result String, Result String)
150
          -> Result (Group.List, Node.List, Instance.List, [String])
150
          -> Result ClusterData
151 151
parseData (group_body, node_body, inst_body, tags_body) = do
152 152
  group_data <- group_body >>= getGroups
153 153
  let (group_names, group_idx) = assignIndices group_data
......
156 156
  inst_data <- inst_body >>= getInstances node_names
157 157
  let (_, inst_idx) = assignIndices inst_data
158 158
  tags_data <- tags_body >>= (fromJResult "Parsing tags data" . decodeStrict)
159
  return (group_idx, node_idx, inst_idx, tags_data)
159
  return (ClusterData group_idx node_idx inst_idx tags_data)
160 160

  
161 161
-- | Top level function for data loading
162 162
loadData :: String -- ^ Cluster or URL to use as source
163
            -> IO (Result (Group.List, Node.List, Instance.List, [String]))
163
         -> IO (Result ClusterData)
164 164
loadData master = readData master >>= return . parseData

Also available in: Unified diff