on master help sign in
Fix NetworkMode parsing errors
79c8ae4Deni Bertovic
src/Docker/Client/Types.hs+9−7
@@ -657,7 +657,7 @@ defaultHostConfig = HostConfig {
657 binds=[]
657 binds=[]
658 , containerIDFile=Nothing
658 , containerIDFile=Nothing
659 , logConfig=LogDriverConfig JsonFile []
659 , logConfig=LogDriverConfig JsonFile []
660− , networkMode=Bridge
660+ , networkMode=NetworkBridge
661 , portBindings=[]
661 , portBindings=[]
662 , restartPolicy=RestartOff
662 , restartPolicy=RestartOff
663 , volumeDriver=Nothing
663 , volumeDriver=Nothing
@@ -936,19 +936,21 @@ instance FromJSON LogDriverConfig where
936 parseJSON _ = fail "LogDriverConfig is not an object"
936 parseJSON _ = fail "LogDriverConfig is not an object"
937
937
938-- TODO: Add container:<name|id> mode
938-- TODO: Add container:<name|id> mode
939−data NetworkMode = Bridge | Host | NetworkDisabled
939+data NetworkMode = NetworkBridge | NetworkHost | NetworkDisabled | NetworkNamed Text
940 deriving (Eq, Show, Ord)
940 deriving (Eq, Show, Ord)
941
941
942instance FromJSON NetworkMode where
942instance FromJSON NetworkMode where
943− parseJSON (JSON.String "bridge") = return Bridge
943+ parseJSON (JSON.String "bridge") = return NetworkBridge
944− parseJSON (JSON.String "host") = return Host -- Note: Guessing on these.
944+ parseJSON (JSON.String "host") = return NetworkHost -- Note: Guessing on these.
945 parseJSON (JSON.String "none") = return NetworkDisabled
945 parseJSON (JSON.String "none") = return NetworkDisabled
946+ parseJSON (JSON.String n) = return $ NetworkNamed n
946 parseJSON _ = fail "Unknown NetworkMode"
947 parseJSON _ = fail "Unknown NetworkMode"
947
948
948instance ToJSON NetworkMode where
949instance ToJSON NetworkMode where
949− toJSON Bridge = JSON.String "bridge"
950+ toJSON NetworkBridge = JSON.String "bridge"
950− toJSON Host = JSON.String "host"
951+ toJSON NetworkHost = JSON.String "host"
951− toJSON NetworkDisabled = JSON.String "none"
952+ toJSON NetworkDisabled = JSON.String "none"
953+ toJSON (NetworkNamed n) = JSON.String n
952
954
953data PortType = TCP | UDP deriving (Eq, Generic, Read, Ord)
955data PortType = TCP | UDP deriving (Eq, Generic, Read, Ord)
954
956