{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.DynamoDBStreams.Types.Sum -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.DynamoDBStreams.Types.Sum where import Network.AWS.Prelude data KeyType = Hash | Range deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText KeyType where parser = takeLowerText >>= \case "hash" -> pure Hash "range" -> pure Range e -> fromTextError $ "Failure parsing KeyType from value: '" <> e <> "'. Accepted values: hash, range" instance ToText KeyType where toText = \case Hash -> "HASH" Range -> "RANGE" instance Hashable KeyType instance NFData KeyType instance ToByteString KeyType instance ToQuery KeyType instance ToHeader KeyType instance FromJSON KeyType where parseJSON = parseJSONText "KeyType" data OperationType = Insert | Modify | Remove deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText OperationType where parser = takeLowerText >>= \case "insert" -> pure Insert "modify" -> pure Modify "remove" -> pure Remove e -> fromTextError $ "Failure parsing OperationType from value: '" <> e <> "'. Accepted values: insert, modify, remove" instance ToText OperationType where toText = \case Insert -> "INSERT" Modify -> "MODIFY" Remove -> "REMOVE" instance Hashable OperationType instance NFData OperationType instance ToByteString OperationType instance ToQuery OperationType instance ToHeader OperationType instance FromJSON OperationType where parseJSON = parseJSONText "OperationType" data ShardIteratorType = AfterSequenceNumber | AtSequenceNumber | Latest | TrimHorizon deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText ShardIteratorType where parser = takeLowerText >>= \case "after_sequence_number" -> pure AfterSequenceNumber "at_sequence_number" -> pure AtSequenceNumber "latest" -> pure Latest "trim_horizon" -> pure TrimHorizon e -> fromTextError $ "Failure parsing ShardIteratorType from value: '" <> e <> "'. Accepted values: after_sequence_number, at_sequence_number, latest, trim_horizon" instance ToText ShardIteratorType where toText = \case AfterSequenceNumber -> "AFTER_SEQUENCE_NUMBER" AtSequenceNumber -> "AT_SEQUENCE_NUMBER" Latest -> "LATEST" TrimHorizon -> "TRIM_HORIZON" instance Hashable ShardIteratorType instance NFData ShardIteratorType instance ToByteString ShardIteratorType instance ToQuery ShardIteratorType instance ToHeader ShardIteratorType instance ToJSON ShardIteratorType where toJSON = toJSONText data StreamStatus = Disabled | Disabling | Enabled | Enabling deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText StreamStatus where parser = takeLowerText >>= \case "disabled" -> pure Disabled "disabling" -> pure Disabling "enabled" -> pure Enabled "enabling" -> pure Enabling e -> fromTextError $ "Failure parsing StreamStatus from value: '" <> e <> "'. Accepted values: disabled, disabling, enabled, enabling" instance ToText StreamStatus where toText = \case Disabled -> "DISABLED" Disabling -> "DISABLING" Enabled -> "ENABLED" Enabling -> "ENABLING" instance Hashable StreamStatus instance NFData StreamStatus instance ToByteString StreamStatus instance ToQuery StreamStatus instance ToHeader StreamStatus instance FromJSON StreamStatus where parseJSON = parseJSONText "StreamStatus" data StreamViewType = KeysOnly | NewAndOldImages | NewImage | OldImage deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText StreamViewType where parser = takeLowerText >>= \case "keys_only" -> pure KeysOnly "new_and_old_images" -> pure NewAndOldImages "new_image" -> pure NewImage "old_image" -> pure OldImage e -> fromTextError $ "Failure parsing StreamViewType from value: '" <> e <> "'. Accepted values: keys_only, new_and_old_images, new_image, old_image" instance ToText StreamViewType where toText = \case KeysOnly -> "KEYS_ONLY" NewAndOldImages -> "NEW_AND_OLD_IMAGES" NewImage -> "NEW_IMAGE" OldImage -> "OLD_IMAGE" instance Hashable StreamViewType instance NFData StreamViewType instance ToByteString StreamViewType instance ToQuery StreamViewType instance ToHeader StreamViewType instance FromJSON StreamViewType where parseJSON = parseJSONText "StreamViewType"