@@ -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(..)
@@ -111,6 +112,7 @@ data Endpoint =
111 | CreateContainerEndpoint CreateOpts (Maybe ContainerName)
112 | CreateContainerEndpoint CreateOpts (Maybe ContainerName)
112 | StartContainerEndpoint StartOpts ContainerID
113 | StartContainerEndpoint StartOpts ContainerID
113 | StopContainerEndpoint Timeout ContainerID
114 | StopContainerEndpoint Timeout ContainerID
115+ | WaitContainerEndpoint ContainerID
114 | KillContainerEndpoint Signal ContainerID
116 | KillContainerEndpoint Signal ContainerID
115 | RestartContainerEndpoint Timeout ContainerID
117 | RestartContainerEndpoint Timeout ContainerID
116 | PauseContainerEndpoint ContainerID
118 | PauseContainerEndpoint ContainerID
@@ -165,6 +167,20 @@ toImageID t =
165-- | Timeout used for stopping a container. DefaultTimeout is 10 seconds.
167-- | Timeout used for stopping a container. DefaultTimeout is 10 seconds.
166data Timeout = Timeout Integer | DefaultTimeout deriving (Eq, Show)
168data Timeout = Timeout Integer | DefaultTimeout deriving (Eq, Show)
170+data StatusCode = StatusCode Int
172+instance ToJSON StatusCode where
173+ toJSON (StatusCode c) = object ["StatusCode" .= c]
175+instance FromJSON StatusCode where
176+ parseJSON (JSON.Object o) = do
177+ c <- o .: "StatusCode"
178+ if c >= 0 && c <= 255 then
179+ return (StatusCode c)
181+ fail "Unknown exit code"
182+ parseJSON _ = fail "Unknown exit code"
168-- TODO: Add more Signals or use an existing lib
184-- TODO: Add more Signals or use an existing lib
169-- | Signal used for sending to the process running in the container.
185-- | Signal used for sending to the process running in the container.
170-- The default signal is SIGTERM.
186-- The default signal is SIGTERM.