on master help sign in
add 'docker rm' call, with all options
commit9846c824d2075c4a15d6334fe5702b190dd02a56 authorSebastian Meric de Bellefon <Sebastian.MericdeBellefon@tritondigital.com> dateThu 9 Jul 2015, 23:18 (11 years ago) parentf3a207f
2 files changed+17
Network/Docker.hs+9 Network/Docker/Types.hs+8
Network/Docker.hs+9
@@ -49,6 +49,8 @@ _dockerPostQuery endpoint clientOpts postObject = post (fullUrl clientOpts endpo
4949emptyPost = "" :: String
5050_dockerEmptyPostQuery endpoint clientOpts = post (fullUrl clientOpts endpoint) (toJSON emptyPost)
5151
52+_dockerEmptyDeleteQuery endpoint clientOpts = delete (fullUrl clientOpts endpoint)
53+
5254getDockerVersion :: DockerClientOpts -> IO (Maybe DockerVersion)
5355getDockerVersion = decodeResponse . _dockerGetQuery "/version"
5456
@@ -79,6 +81,13 @@ pauseContainer clientOpts containerId = (^. responseStatus) <$> _dockerEmptyPos
7981unpauseContainer :: DockerClientOpts -> String -> IO (Status)
8082unpauseContainer clientOpts containerId = (^. responseStatus) <$> _dockerEmptyPostQuery (printf "/containers/%s/unpause" containerId) clientOpts
8183
84+deleteContainer :: DockerClientOpts -> String -> IO (Status)
85+deleteContainer = deleteContainerWithOpts defaultDeleteOpts
86+
87+deleteContainerWithOpts :: DeleteOpts -> DockerClientOpts -> String -> IO (Status)
88+deleteContainerWithOpts (DeleteOpts removeVolumes force) clientOpts containerId = (^. responseStatus) <$> _dockerEmptyDeleteQuery req clientOpts
89+ where req = printf "/containers/%s?v=%s;force=%s" containerId (show removeVolumes) (show force)
90+
8291getContainerLogsStream :: DockerClientOpts -> String -> IO ()
8392getContainerLogsStream clientOpts containerId = do
8493 req <- PH.parseUrl (fullUrl clientOpts url)
Network/Docker/Types.hs+8
@@ -6,6 +6,7 @@
66
77module Network.Docker.Types where
88
9+import Prelude hiding(id)
910import Control.Applicative
1011import Control.Lens.TH
1112import Control.Lens.TH
@@ -68,6 +69,13 @@ data PortMap = PortMap
6869 , _type :: PortType
6970 } deriving (Show, Eq)
7071
72+data DeleteOpts = DeleteOpts
73+ { removeVolumes :: Bool
74+ , force :: Bool
75+ }
76+
77+defaultDeleteOpts = DeleteOpts False False
78+
7179
7280data DockerContainer = DockerContainer
7381 { _containerId :: ResourceId