summaryrefslogtreecommitdiff
path: root/src/Propellor/Types/CmdLine.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Propellor/Types/CmdLine.hs')
-rw-r--r--src/Propellor/Types/CmdLine.hs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Propellor/Types/CmdLine.hs b/src/Propellor/Types/CmdLine.hs
index 50908514..380ac5a8 100644
--- a/src/Propellor/Types/CmdLine.hs
+++ b/src/Propellor/Types/CmdLine.hs
@@ -1,14 +1,20 @@
+{-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving #-}
+
module Propellor.Types.CmdLine where
import Propellor.Types.OS
import Propellor.Types.PrivData
import System.Posix.Types
+import Data.Typeable
+import Data.Monoid
+-- | All the command line actions that propellor can perform.
data CmdLine
= Run HostName
| Spin [HostName] (Maybe HostName)
| SimpleRun HostName
+ | ControlledRun HostName ControllerChain
| Set PrivDataField Context
| Unset PrivDataField Context
| Dump PrivDataField Context
@@ -28,3 +34,6 @@ data CmdLine
| Check
deriving (Read, Show, Eq)
+-- | List of hosts that acted as controllers to cause a host to be spinned.
+newtype ControllerChain = ControllerChain [HostName]
+ deriving (Read, Show, Eq, Typeable, Monoid)