@@ -12,6 +12,7 @@ module Docker.Client.Types (
12 , fromImageID
12 , fromImageID
13 , toImageID
13 , toImageID
14 , Timeout(..)
14 , Timeout(..)
15 , Signal(..)
16 , Signal(..)
16 , ContainerDetails(..)
17 , ContainerDetails(..)
17 , DockerClientOpts(..)
18 , DockerClientOpts(..)
@@ -85,6 +86,8 @@ module Docker.Client.Types (
86 , addVolume
87 , addVolume
87 , addVolumeFrom
88 , addVolumeFrom
89+ , MemoryConstraint(..)
90+ , MemoryConstraintSize(..)
90import Data.Aeson (FromJSON, ToJSON, genericParseJSON,
93import Data.Aeson (FromJSON, ToJSON, genericParseJSON,
@@ -111,6 +114,7 @@ data Endpoint =
111 | CreateContainerEndpoint CreateOpts (Maybe ContainerName)
114 | CreateContainerEndpoint CreateOpts (Maybe ContainerName)
112 | StartContainerEndpoint StartOpts ContainerID
115 | StartContainerEndpoint StartOpts ContainerID
113 | StopContainerEndpoint Timeout ContainerID
116 | StopContainerEndpoint Timeout ContainerID
117+ | WaitContainerEndpoint ContainerID
114 | KillContainerEndpoint Signal ContainerID
118 | KillContainerEndpoint Signal ContainerID
115 | RestartContainerEndpoint Timeout ContainerID
119 | RestartContainerEndpoint Timeout ContainerID
116 | PauseContainerEndpoint ContainerID
120 | PauseContainerEndpoint ContainerID
@@ -166,6 +170,20 @@ toImageID t =
166-- | Timeout used for stopping a container. DefaultTimeout is 10 seconds.
170-- | Timeout used for stopping a container. DefaultTimeout is 10 seconds.
167data Timeout = Timeout Integer | DefaultTimeout deriving (Eq, Show)
171data Timeout = Timeout Integer | DefaultTimeout deriving (Eq, Show)
173+data StatusCode = StatusCode Int
175+instance ToJSON StatusCode where
176+ toJSON (StatusCode c) = object ["StatusCode" .= c]
178+instance FromJSON StatusCode where
179+ parseJSON (JSON.Object o) = do
180+ c <- o .: "StatusCode"
181+ if c >= 0 && c <= 255 then
182+ return (StatusCode c)
184+ fail "Unknown exit code"
185+ parseJSON _ = fail "Unknown exit code"
169-- TODO: Add more Signals or use an existing lib
187-- TODO: Add more Signals or use an existing lib
170-- | Signal used for sending to the process running in the container.
188-- | Signal used for sending to the process running in the container.
171-- The default signal is SIGTERM.
189-- The default signal is SIGTERM.