on master help sign in
Adds ContainerID and ImageID
6ddce62Deni Bertovic
Network/Docker.hs+11−11
@@ -45,57 +45,57 @@ createContainer createOpts = do
45 clientOpts <- ask
45 clientOpts <- ask
46 getElemFromResponse "Id" <$> runDocker (createContainerM clientOpts (SCreateContainerEndpoint) createOpts)
46 getElemFromResponse "Id" <$> runDocker (createContainerM clientOpts (SCreateContainerEndpoint) createOpts)
47
47
48−startContainer :: String -> StartContainerOpts -> DockerM IO (Status)
48+startContainer :: ContainerID -> StartContainerOpts -> DockerM IO (Status)
49startContainer cid startOpts = do
49startContainer cid startOpts = do
50 clientOpts <- ask
50 clientOpts <- ask
51 (^. responseStatus) <$> runDocker (startContainerM clientOpts (SStartContainerEndpoint cid) startOpts)
51 (^. responseStatus) <$> runDocker (startContainerM clientOpts (SStartContainerEndpoint cid) startOpts)
52
52
53−stopContainer :: String -> DockerM IO (Status)
53+stopContainer :: ContainerID -> DockerM IO (Status)
54stopContainer cid = do
54stopContainer cid = do
55 clientOpts <- ask
55 clientOpts <- ask
56 (^. responseStatus) <$> runDocker (stopContainerM clientOpts (SStopContainerEndpoint cid))
56 (^. responseStatus) <$> runDocker (stopContainerM clientOpts (SStopContainerEndpoint cid))
57
57
58−killContainer :: String -> DockerM IO (Status)
58+killContainer :: ContainerID -> DockerM IO (Status)
59killContainer cid = do
59killContainer cid = do
60 clientOpts <- ask
60 clientOpts <- ask
61 (^. responseStatus) <$> runDocker (killContainerM clientOpts (SKillContainerEndpoint cid))
61 (^. responseStatus) <$> runDocker (killContainerM clientOpts (SKillContainerEndpoint cid))
62
62
63−restartContainer :: String -> DockerM IO (Status)
63+restartContainer :: ContainerID -> DockerM IO (Status)
64restartContainer cid = do
64restartContainer cid = do
65 clientOpts <- ask
65 clientOpts <- ask
66 (^. responseStatus) <$> runDocker (restartContainerM clientOpts (SRestartContainerEndpoint cid))
66 (^. responseStatus) <$> runDocker (restartContainerM clientOpts (SRestartContainerEndpoint cid))
67
67
68−pauseContainer :: String -> DockerM IO (Status)
68+pauseContainer :: ContainerID -> DockerM IO (Status)
69pauseContainer cid = do
69pauseContainer cid = do
70 clientOpts <- ask
70 clientOpts <- ask
71 (^. responseStatus) <$> runDocker (pauseContainerM clientOpts (SPauseContainerEndpoint cid))
71 (^. responseStatus) <$> runDocker (pauseContainerM clientOpts (SPauseContainerEndpoint cid))
72
72
73−unpauseContainer :: String -> DockerM IO (Status)
73+unpauseContainer :: ContainerID -> DockerM IO (Status)
74unpauseContainer cid = do
74unpauseContainer cid = do
75 clientOpts <- ask
75 clientOpts <- ask
76 (^. responseStatus) <$> runDocker (unpauseContainerM clientOpts (SUnpauseContainerEndpoint cid))
76 (^. responseStatus) <$> runDocker (unpauseContainerM clientOpts (SUnpauseContainerEndpoint cid))
77
77
78−deleteContainer :: String -> DockerM IO (Status)
78+deleteContainer :: ContainerID -> DockerM IO (Status)
79deleteContainer cid = do
79deleteContainer cid = do
80 c <- ask
80 c <- ask
81 deleteContainerWithOpts defaultDeleteOpts cid
81 deleteContainerWithOpts defaultDeleteOpts cid
82
82
83−deleteContainerWithOpts :: DeleteOpts -> String -> DockerM IO (Status)
83+deleteContainerWithOpts :: DeleteOpts -> ContainerID -> DockerM IO (Status)
84deleteContainerWithOpts deleteOpts cid = do
84deleteContainerWithOpts deleteOpts cid = do
85 clientOpts <- ask
85 clientOpts <- ask
86 (^. responseStatus) <$> runDocker (deleteContainerM clientOpts (SDeleteContainerEndpoint cid deleteOpts))
86 (^. responseStatus) <$> runDocker (deleteContainerM clientOpts (SDeleteContainerEndpoint cid deleteOpts))
87
87
88−getContainerLogsWithOpts :: LogOpts -> String -> DockerM IO (L.ByteString)
88+getContainerLogsWithOpts :: LogOpts -> ContainerID -> DockerM IO (L.ByteString)
89getContainerLogsWithOpts l cid = do
89getContainerLogsWithOpts l cid = do
90 clientOpts <- ask
90 clientOpts <- ask
91 (^. responseBody) <$> runDocker (getContainerLogsM clientOpts (SContainerLogsEndpoint cid l))
91 (^. responseBody) <$> runDocker (getContainerLogsM clientOpts (SContainerLogsEndpoint cid l))
92
92
93−getContainerLogs :: String -> DockerM IO (L.ByteString)
93+getContainerLogs :: ContainerID -> DockerM IO (L.ByteString)
94getContainerLogs cid = do
94getContainerLogs cid = do
95 clientOpts <- ask
95 clientOpts <- ask
96 (^. responseBody) <$> runDocker (getContainerLogsM clientOpts (SContainerLogsEndpoint cid defaultLogOpts))
96 (^. responseBody) <$> runDocker (getContainerLogsM clientOpts (SContainerLogsEndpoint cid defaultLogOpts))
97
97
98−getContainerLogsStream :: String -> DockerM IO ()
98+getContainerLogsStream :: ContainerID -> DockerM IO ()
99getContainerLogsStream cid = do
99getContainerLogsStream cid = do
100 clientOpts <- ask
100 clientOpts <- ask
101 req <- PH.parseUrl (fullUrl clientOpts url)
101 req <- PH.parseUrl (fullUrl clientOpts url)
Network/Docker/Types.hs+12−9
@@ -19,14 +19,17 @@ import Data.Bool
19import qualified Data.ByteString.Lazy as L
19import qualified Data.ByteString.Lazy as L
20import Data.Default
20import Data.Default
21import qualified Data.Map as Map
21import qualified Data.Map as Map
22+import Data.String (IsString, fromString)
22import qualified Data.Text as T
23import qualified Data.Text as T
23import GHC.Generics (Generic)
24import GHC.Generics (Generic)
24import Network.Wreq.Types (Postable)
25import Network.Wreq.Types (Postable)
25import OpenSSL.Session (SSLContext)
26import OpenSSL.Session (SSLContext)
26−import Prelude hiding (id)
27
27
28type DockerM m a = ReaderT DockerClientOpts m a
28type DockerM m a = ReaderT DockerClientOpts m a
29
29
30+type ContainerID = String
31+type ImageID = String
32+
30type URL = String
33type URL = String
31type ApiVersion = String
34type ApiVersion = String
32
35
@@ -63,14 +66,14 @@ data SEndpoint (a :: Endpoint) where
63 SListContainersEndpoint :: SEndpoint ListContainersEndpoint
66 SListContainersEndpoint :: SEndpoint ListContainersEndpoint
64 SListImagesEndpoint :: SEndpoint ListImagesEndpoint
67 SListImagesEndpoint :: SEndpoint ListImagesEndpoint
65 SCreateContainerEndpoint :: SEndpoint CreateContainerEndpoint
68 SCreateContainerEndpoint :: SEndpoint CreateContainerEndpoint
66− SStartContainerEndpoint :: String -> SEndpoint StartContainerEndpoint
69+ SStartContainerEndpoint :: ContainerID -> SEndpoint StartContainerEndpoint
67− SStopContainerEndpoint :: String -> SEndpoint StopContainerEndpoint
70+ SStopContainerEndpoint :: ContainerID -> SEndpoint StopContainerEndpoint
68− SKillContainerEndpoint :: String -> SEndpoint KillContainerEndpoint
71+ SKillContainerEndpoint :: ContainerID -> SEndpoint KillContainerEndpoint
69− SRestartContainerEndpoint :: String -> SEndpoint RestartContainerEndpoint
72+ SRestartContainerEndpoint :: ContainerID -> SEndpoint RestartContainerEndpoint
70− SPauseContainerEndpoint :: String -> SEndpoint PauseContainerEndpoint
73+ SPauseContainerEndpoint :: ContainerID -> SEndpoint PauseContainerEndpoint
71− SUnpauseContainerEndpoint :: String -> SEndpoint UnpauseContainerEndpoint
74+ SUnpauseContainerEndpoint :: ContainerID -> SEndpoint UnpauseContainerEndpoint
72− SContainerLogsEndpoint :: String -> LogOpts-> SEndpoint ContainerLogsEndpoint
75+ SContainerLogsEndpoint :: ContainerID -> LogOpts-> SEndpoint ContainerLogsEndpoint
73− SDeleteContainerEndpoint :: String -> DeleteOpts -> SEndpoint DeleteContainerEndpoint
76+ SDeleteContainerEndpoint :: ContainerID -> DeleteOpts -> SEndpoint DeleteContainerEndpoint
74
77
75defaultClientOpts :: DockerClientOpts
78defaultClientOpts :: DockerClientOpts
76defaultClientOpts = DockerClientOpts
79defaultClientOpts = DockerClientOpts