@@ -520,7 +520,7 @@ data Container = Container
521instance FromJSON Container where
521instance FromJSON Container where
522 parseJSON (JSON.Object v) =
522 parseJSON (JSON.Object v) =
523− Container <$> (v .: "Id")
523+ Container <$> (v .: "Id" >>= parseContainerID)
524 <*> (v .: "Names")
524 <*> (v .: "Names")
525 <*> (v .: "Image")
525 <*> (v .: "Image")
526 <*> (v .: "ImageID")
526 <*> (v .: "ImageID")
@@ -535,17 +535,21 @@ instance FromJSON Container where
535 parseNetworks (JSON.Object v) =
535 parseNetworks (JSON.Object v) =
536 (v .: "Networks") >>= parseJSON
536 (v .: "Networks") >>= parseJSON
537 parseNetworks _ = fail "Container NetworkSettings: Not a JSON object."
537 parseNetworks _ = fail "Container NetworkSettings: Not a JSON object."
538+ parseContainerID v = case (toContainerID v) of
539+ Nothing -> fail "bla"
539 parseJSON _ = fail "Container: Not a JSON object."
542 parseJSON _ = fail "Container: Not a JSON object."
541-- | Represents the status of the container life cycle.
544-- | Represents the status of the container life cycle.
542−data Status = Created | Restarting | Running | Paused | Exited | Dead
545+data Status = Created | Restarting | Running | Removing | Paused | Exited | Dead
543 deriving (Eq, Show, Generic)
546 deriving (Eq, Show, Generic)
545instance FromJSON Status where
548instance FromJSON Status where
546 parseJSON (JSON.String "running") = return Running
549 parseJSON (JSON.String "running") = return Running
547 parseJSON (JSON.String "created") = return Created -- Note: Guessing on the string values of these.
550 parseJSON (JSON.String "created") = return Created -- Note: Guessing on the string values of these.
548 parseJSON (JSON.String "restarting") = return Restarting
551 parseJSON (JSON.String "restarting") = return Restarting
552+ parseJSON (JSON.String "removing") = return Removing
549 parseJSON (JSON.String "paused") = return Paused
553 parseJSON (JSON.String "paused") = return Paused
550 parseJSON (JSON.String "exited") = return Exited
554 parseJSON (JSON.String "exited") = return Exited
551 parseJSON (JSON.String "dead") = return Dead
555 parseJSON (JSON.String "dead") = return Dead