{-# LANGUAGE TypeFamilies, FlexibleInstances #-}
module Propellor.Types.Container where
import Propellor.Types.Info
data Bound v = Bound
{ Bound v -> v
hostSide :: v
, Bound v -> v
containerSide :: v
}
(-<-) :: (hostv ~ v, containerv ~ v) => hostv -> containerv -> Bound v
-<- :: hostv -> containerv -> Bound v
(-<-) = hostv -> containerv -> Bound v
forall v. v -> v -> Bound v
Bound
(->-) :: (containerv ~ v, hostv ~ v) => containerv -> hostv -> Bound v
->- :: containerv -> hostv -> Bound v
(->-) = (hostv -> containerv -> Bound v) -> containerv -> hostv -> Bound v
forall a b c. (a -> b -> c) -> b -> a -> c
flip hostv -> containerv -> Bound v
forall hostv v containerv.
(hostv ~ v, containerv ~ v) =>
hostv -> containerv -> Bound v
(-<-)
same :: v -> Bound v
same :: v -> Bound v
same v
v = v -> v -> Bound v
forall v. v -> v -> Bound v
Bound v
v v
v
data ContainerCapability
= HostnameContained
| FilesystemContained
deriving (Typeable, ContainerCapability -> ContainerCapability -> Bool
(ContainerCapability -> ContainerCapability -> Bool)
-> (ContainerCapability -> ContainerCapability -> Bool)
-> Eq ContainerCapability
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ContainerCapability -> ContainerCapability -> Bool
$c/= :: ContainerCapability -> ContainerCapability -> Bool
== :: ContainerCapability -> ContainerCapability -> Bool
$c== :: ContainerCapability -> ContainerCapability -> Bool
Eq, ReadPrec [ContainerCapability]
ReadPrec ContainerCapability
Int -> ReadS ContainerCapability
ReadS [ContainerCapability]
(Int -> ReadS ContainerCapability)
-> ReadS [ContainerCapability]
-> ReadPrec ContainerCapability
-> ReadPrec [ContainerCapability]
-> Read ContainerCapability
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ContainerCapability]
$creadListPrec :: ReadPrec [ContainerCapability]
readPrec :: ReadPrec ContainerCapability
$creadPrec :: ReadPrec ContainerCapability
readList :: ReadS [ContainerCapability]
$creadList :: ReadS [ContainerCapability]
readsPrec :: Int -> ReadS ContainerCapability
$creadsPrec :: Int -> ReadS ContainerCapability
Read, Int -> ContainerCapability -> ShowS
[ContainerCapability] -> ShowS
ContainerCapability -> String
(Int -> ContainerCapability -> ShowS)
-> (ContainerCapability -> String)
-> ([ContainerCapability] -> ShowS)
-> Show ContainerCapability
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ContainerCapability] -> ShowS
$cshowList :: [ContainerCapability] -> ShowS
show :: ContainerCapability -> String
$cshow :: ContainerCapability -> String
showsPrec :: Int -> ContainerCapability -> ShowS
$cshowsPrec :: Int -> ContainerCapability -> ShowS
Show)
instance IsInfo [ContainerCapability] where
propagateInfo :: [ContainerCapability] -> PropagateInfo
propagateInfo [ContainerCapability]
_ = Bool -> PropagateInfo
PropagateInfo Bool
False