{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.CloudTrail.Types.Sum where
import Network.AWS.Prelude
data LookupAttributeKey
= EventId
| EventName
| ResourceName
| ResourceType
| Username
deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
instance FromText LookupAttributeKey where
parser = takeLowerText >>= \case
"eventid" -> pure EventId
"eventname" -> pure EventName
"resourcename" -> pure ResourceName
"resourcetype" -> pure ResourceType
"username" -> pure Username
e -> fromTextError $ "Failure parsing LookupAttributeKey from value: '" <> e
<> "'. Accepted values: eventid, eventname, resourcename, resourcetype, username"
instance ToText LookupAttributeKey where
toText = \case
EventId -> "EventId"
EventName -> "EventName"
ResourceName -> "ResourceName"
ResourceType -> "ResourceType"
Username -> "Username"
instance Hashable LookupAttributeKey
instance NFData LookupAttributeKey
instance ToByteString LookupAttributeKey
instance ToQuery LookupAttributeKey
instance ToHeader LookupAttributeKey
instance ToJSON LookupAttributeKey where
toJSON = toJSONText