module Network.AWS.CloudWatchLogs.Types.Sum where
import           Network.AWS.Prelude
data OrderBy
    = LastEventTime
    | LogStreamName
    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)
instance FromText OrderBy where
    parser = takeLowerText >>= \case
        "lasteventtime" -> pure LastEventTime
        "logstreamname" -> pure LogStreamName
        e -> fromTextError $ "Failure parsing OrderBy from value: '" <> e
           <> "'. Accepted values: LastEventTime, LogStreamName"
instance ToText OrderBy where
    toText = \case
        LastEventTime -> "LastEventTime"
        LogStreamName -> "LogStreamName"
instance Hashable     OrderBy
instance ToByteString OrderBy
instance ToQuery      OrderBy
instance ToHeader     OrderBy
instance ToJSON OrderBy where
    toJSON = toJSONText