From 7f045b94df1aaed72a28d9c7717a8fcc90c11a2d Mon Sep 17 00:00:00 2001
From: Petr Pudlak <pudlak@google.com>
Date: Mon, 6 Jul 2015 17:42:29 +0200
Subject: [PATCH] Add a constant listing all possible ssconf keys

.. available for both Python and Haskell

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>
---
 src/Ganeti/Constants.hs | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
index 23dc457e8..3482a3bd7 100644
--- a/src/Ganeti/Constants.hs
+++ b/src/Ganeti/Constants.hs
@@ -49,6 +49,7 @@ import Control.Arrow ((***),(&&&))
 import Data.List ((\\))
 import Data.Map (Map)
 import qualified Data.Map as Map (empty, fromList, keys, insert)
+import Data.Monoid
 
 import qualified AutoConf
 import Ganeti.ConstantUtils (PythonChar(..), FrozenSet, Protocol(..),
@@ -3906,6 +3907,40 @@ ssFilePerms = 0o444
 ssEnabledUserShutdown :: String
 ssEnabledUserShutdown = "enabled_user_shutdown"
 
+validSsKeys :: FrozenSet String
+validSsKeys = ConstantUtils.mkSet
+  [ ssClusterName
+  , ssClusterTags
+  , ssFileStorageDir
+  , ssSharedFileStorageDir
+  , ssGlusterStorageDir
+  , ssMasterCandidates
+  , ssMasterCandidatesIps
+  , ssMasterCandidatesCerts
+  , ssMasterIp
+  , ssMasterNetdev
+  , ssMasterNetmask
+  , ssMasterNode
+  , ssNodeList
+  , ssNodePrimaryIps
+  , ssNodeSecondaryIps
+  , ssNodeVmCapable
+  , ssOfflineNodes
+  , ssOnlineNodes
+  , ssPrimaryIpFamily
+  , ssInstanceList
+  , ssReleaseVersion
+  , ssHypervisorList
+  , ssMaintainNodeHealth
+  , ssUidPool
+  , ssNodegroups
+  , ssNetworks
+  , ssEnabledUserShutdown
+  ]
+  <>
+  validSsHvparamsKeys
+
+
 -- | Cluster wide default parameters
 defaultEnabledHypervisor :: String
 defaultEnabledHypervisor = htXenPvm
-- 
GitLab