diff --git a/Ganeti/HTools/Loader.hs b/Ganeti/HTools/Loader.hs
index b7c74a0f832c9dcf8008a0fcfbe5f8864e9e2786..81ccbfee9181f98a8abcaf1be26bd1049614c888 100644
--- a/Ganeti/HTools/Loader.hs
+++ b/Ganeti/HTools/Loader.hs
@@ -36,6 +36,8 @@ module Ganeti.HTools.Loader
     , commonSuffix
     , RqType(..)
     , Request(..)
+    , ClusterData(..)
+    , emptyCluster
     ) where
 
 import Data.List
@@ -74,6 +76,18 @@ data RqType
 data Request = Request RqType Group.List Node.List Instance.List [String]
     deriving (Show)
 
+-- | The cluster state.
+data ClusterData = ClusterData
+    { cdGroups    :: Group.List    -- ^ The node group list
+    , cdNodes     :: Node.List     -- ^ The node list
+    , cdInstances :: Instance.List -- ^ The instance list
+    , cdTags      :: [String]      -- ^ The cluster tags
+    } deriving (Show)
+
+-- | An empty cluster.
+emptyCluster :: ClusterData
+emptyCluster = ClusterData Container.empty Container.empty Container.empty []
+
 -- * Functions
 
 -- | Lookups a node into an assoc list.