@@ -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)
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
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
192+data RestartPolicy = RestartNever
194+ | RestartOnFailure Int
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 ]
189makeClassy ''ResourceId
202makeClassy ''ResourceId
191-- makeLenses ''CreateContainerResponse
204-- makeLenses ''CreateContainerResponse