{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.MediaStore.Types.Sum where
import Network.AWS.Prelude
data ContainerStatus
= Active
| Creating
| Deleting
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText ContainerStatus where
parser = takeLowerText >>= \case
"active" -> pure Active
"creating" -> pure Creating
"deleting" -> pure Deleting
e -> fromTextError $ "Failure parsing ContainerStatus from value: '" <> e
<> "'. Accepted values: active, creating, deleting"
instance ToText ContainerStatus where
toText = \case
Active -> "ACTIVE"
Creating -> "CREATING"
Deleting -> "DELETING"
instance Hashable ContainerStatus
instance NFData ContainerStatus
instance ToByteString ContainerStatus
instance ToQuery ContainerStatus
instance ToHeader ContainerStatus
instance FromJSON ContainerStatus where
parseJSON = parseJSONText "ContainerStatus"
data MethodName
= Delete
| Get
| Head
| Put
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText MethodName where
parser = takeLowerText >>= \case
"delete" -> pure Delete
"get" -> pure Get
"head" -> pure Head
"put" -> pure Put
e -> fromTextError $ "Failure parsing MethodName from value: '" <> e
<> "'. Accepted values: delete, get, head, put"
instance ToText MethodName where
toText = \case
Delete -> "DELETE"
Get -> "GET"
Head -> "HEAD"
Put -> "PUT"
instance Hashable MethodName
instance NFData MethodName
instance ToByteString MethodName
instance ToQuery MethodName
instance ToHeader MethodName
instance ToJSON MethodName where
toJSON = toJSONText
instance FromJSON MethodName where
parseJSON = parseJSONText "MethodName"