summaryrefslogtreecommitdiff
path: root/Propellor/Types/Attr.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Propellor/Types/Attr.hs')
-rw-r--r--Propellor/Types/Attr.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Propellor/Types/Attr.hs b/Propellor/Types/Attr.hs
index cdbe9ca3..1ff58148 100644
--- a/Propellor/Types/Attr.hs
+++ b/Propellor/Types/Attr.hs
@@ -1,11 +1,14 @@
module Propellor.Types.Attr where
+import Propellor.Types.OS
+
import qualified Data.Set as S
-- | The attributes of a host. For example, its hostname.
data Attr = Attr
{ _hostname :: HostName
, _cnames :: S.Set Domain
+ , _os :: Maybe System
, _sshPubKey :: Maybe String
, _dockerImage :: Maybe String
@@ -16,6 +19,7 @@ instance Eq Attr where
x == y = and
[ _hostname x == _hostname y
, _cnames x == _cnames y
+ , _os x == _os y
, _sshPubKey x == _sshPubKey y
, _dockerImage x == _dockerImage y
@@ -27,13 +31,14 @@ instance Show Attr where
show a = unlines
[ "hostname " ++ _hostname a
, "cnames " ++ show (_cnames a)
+ , "OS " ++ show (_os a)
, "sshPubKey " ++ show (_sshPubKey a)
, "docker image " ++ show (_dockerImage a)
, "docker run params " ++ show (map (\mk -> mk "") (_dockerRunParams a))
]
newAttr :: HostName -> Attr
-newAttr hn = Attr hn S.empty Nothing Nothing []
+newAttr hn = Attr hn S.empty Nothing Nothing Nothing []
type HostName = String
type Domain = String