on master help sign in
Merge pull request #2 from humane-software/master
f3a207fDeni Bertovic
.gitignore+1
@@ -1,3 +1,4 @@
1/.cabal-sandbox
1/.cabal-sandbox
2/cabal.sandbox.config
2/cabal.sandbox.config
3/dist/
3/dist/
4+*~
Network/Docker/Types.hs+13
@@ -161,6 +161,7 @@ data StartContainerOpts = StartContainerOpts
161 , _Privileged :: Bool
161 , _Privileged :: Bool
162 , _Dns :: [T.Text]
162 , _Dns :: [T.Text]
163 , _VolumesFrom :: [T.Text]
163 , _VolumesFrom :: [T.Text]
164+ , _RestartPolicy :: RestartPolicy
164 } deriving (Show)
165 } deriving (Show)
165
166
166defaultStartOpts = StartContainerOpts
167defaultStartOpts = StartContainerOpts
@@ -172,6 +173,7 @@ defaultStartOpts = StartContainerOpts
172 , _Privileged = False
173 , _Privileged = False
173 , _Dns = []
174 , _Dns = []
174 , _VolumesFrom = []
175 , _VolumesFrom = []
176+ , _RestartPolicy = RestartNever
175 }
177 }
176
178
177instance ToJSON StartContainerOpts where
179instance ToJSON StartContainerOpts where
@@ -184,8 +186,19 @@ instance ToJSON StartContainerOpts where
184 , "Privileged" .= _Privileged
186 , "Privileged" .= _Privileged
185 , "Dns" .= _Dns
187 , "Dns" .= _Dns
186 , "VolumesFrom" .= _VolumesFrom
188 , "VolumesFrom" .= _VolumesFrom
189+ , "RestartPolicy" .= _RestartPolicy
187 ]
190 ]
188
191
192+data RestartPolicy = RestartNever
193+ | RestartAlways
194+ | RestartOnFailure Int
195+ deriving (Show)
196+
197+instance ToJSON RestartPolicy where
198+ toJSON RestartNever = object ["Name" .= (""::String), "MaximumRetryCount" .= (0::Int) ]
199+ toJSON RestartAlways = object ["Name" .= ("always"::String), "MaximumRetryCount" .= (0::Int) ]
200+ toJSON (RestartOnFailure n) = object ["Name" .= ("on-failure"::String), "MaximumRetryCount" .= n ]
201+
189makeClassy ''ResourceId
202makeClassy ''ResourceId
190
203
191-- makeLenses ''CreateContainerResponse
204-- makeLenses ''CreateContainerResponse