{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
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"