on master help sign in
Adds Devices to HostConfig
c8c192aDeni Bertovic
src/Docker/Types.hs+15−1
@@ -142,6 +142,20 @@ data Volume = Volume { hostSrc :: Text
142 , volumePermission :: Maybe VolumePermission
142 , volumePermission :: Maybe VolumePermission
143 } deriving (Eq, Show)
143 } deriving (Eq, Show)
144
144
145+data Device = Device {
146+ pathOnHost :: FilePath
147+ , pathInContainer :: FilePath
148+ , cgroupPermissions :: Text
149+ } deriving (Eq, Show, Generic)
150+
151+instance ToJSON Device where
152+ toJSON = genericToJSON defaultOptions {
153+ fieldLabelModifier = (\(x:xs) -> toUpper x : xs)}
154+
155+instance FromJSON Device where
156+ parseJSON = genericParseJSON defaultOptions {
157+ fieldLabelModifier = (\(x:xs) -> toUpper x : xs)}
158+
145type ContainerName = Text
159type ContainerName = Text
146
160
147data VolumeFrom = VolumeFrom ContainerName VolumePermission deriving (Eq, Show)
161data VolumeFrom = VolumeFrom ContainerName VolumePermission deriving (Eq, Show)
@@ -244,7 +258,7 @@ data ContainerResources = ContainerResources {
244 , cpuQuota :: Integer
258 , cpuQuota :: Integer
245 , cpusetCpus :: Integer
259 , cpusetCpus :: Integer
246 , cpusetMems :: Text
260 , cpusetMems :: Text
247− , devices :: [Volume]
261+ , devices :: [Device]
248 , diskQuota :: Integer
262 , diskQuota :: Integer
249 , kernelMemory :: Integer
263 , kernelMemory :: Integer
250 , memory :: Integer
264 , memory :: Integer