{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.AlexaBusiness.Types.Sum where
import Network.AWS.Prelude
data ConnectionStatus
= Offline
| Online
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText ConnectionStatus where
parser = takeLowerText >>= \case
"offline" -> pure Offline
"online" -> pure Online
e -> fromTextError $ "Failure parsing ConnectionStatus from value: '" <> e
<> "'. Accepted values: offline, online"
instance ToText ConnectionStatus where
toText = \case
Offline -> "OFFLINE"
Online -> "ONLINE"
instance Hashable ConnectionStatus
instance NFData ConnectionStatus
instance ToByteString ConnectionStatus
instance ToQuery ConnectionStatus
instance ToHeader ConnectionStatus
instance FromJSON ConnectionStatus where
parseJSON = parseJSONText "ConnectionStatus"
data DeviceEventType
= ConnectionStatus
| DeviceStatus
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DeviceEventType where
parser = takeLowerText >>= \case
"connection_status" -> pure ConnectionStatus
"device_status" -> pure DeviceStatus
e -> fromTextError $ "Failure parsing DeviceEventType from value: '" <> e
<> "'. Accepted values: connection_status, device_status"
instance ToText DeviceEventType where
toText = \case
ConnectionStatus -> "CONNECTION_STATUS"
DeviceStatus -> "DEVICE_STATUS"
instance Hashable DeviceEventType
instance NFData DeviceEventType
instance ToByteString DeviceEventType
instance ToQuery DeviceEventType
instance ToHeader DeviceEventType
instance ToJSON DeviceEventType where
toJSON = toJSONText
instance FromJSON DeviceEventType where
parseJSON = parseJSONText "DeviceEventType"
data DeviceStatus
= Deregistered
| Pending
| Ready
| WasOffline
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DeviceStatus where
parser = takeLowerText >>= \case
"deregistered" -> pure Deregistered
"pending" -> pure Pending
"ready" -> pure Ready
"was_offline" -> pure WasOffline
e -> fromTextError $ "Failure parsing DeviceStatus from value: '" <> e
<> "'. Accepted values: deregistered, pending, ready, was_offline"
instance ToText DeviceStatus where
toText = \case
Deregistered -> "DEREGISTERED"
Pending -> "PENDING"
Ready -> "READY"
WasOffline -> "WAS_OFFLINE"
instance Hashable DeviceStatus
instance NFData DeviceStatus
instance ToByteString DeviceStatus
instance ToQuery DeviceStatus
instance ToHeader DeviceStatus
instance FromJSON DeviceStatus where
parseJSON = parseJSONText "DeviceStatus"
data DeviceStatusDetailCode
= DeviceSoftwareUpdateNeeded
| DeviceWasOffline
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DeviceStatusDetailCode where
parser = takeLowerText >>= \case
"device_software_update_needed" -> pure DeviceSoftwareUpdateNeeded
"device_was_offline" -> pure DeviceWasOffline
e -> fromTextError $ "Failure parsing DeviceStatusDetailCode from value: '" <> e
<> "'. Accepted values: device_software_update_needed, device_was_offline"
instance ToText DeviceStatusDetailCode where
toText = \case
DeviceSoftwareUpdateNeeded -> "DEVICE_SOFTWARE_UPDATE_NEEDED"
DeviceWasOffline -> "DEVICE_WAS_OFFLINE"
instance Hashable DeviceStatusDetailCode
instance NFData DeviceStatusDetailCode
instance ToByteString DeviceStatusDetailCode
instance ToQuery DeviceStatusDetailCode
instance ToHeader DeviceStatusDetailCode
instance FromJSON DeviceStatusDetailCode where
parseJSON = parseJSONText "DeviceStatusDetailCode"
data DistanceUnit
= Imperial
| Metric
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DistanceUnit where
parser = takeLowerText >>= \case
"imperial" -> pure Imperial
"metric" -> pure Metric
e -> fromTextError $ "Failure parsing DistanceUnit from value: '" <> e
<> "'. Accepted values: imperial, metric"
instance ToText DistanceUnit where
toText = \case
Imperial -> "IMPERIAL"
Metric -> "METRIC"
instance Hashable DistanceUnit
instance NFData DistanceUnit
instance ToByteString DistanceUnit
instance ToQuery DistanceUnit
instance ToHeader DistanceUnit
instance ToJSON DistanceUnit where
toJSON = toJSONText
instance FromJSON DistanceUnit where
parseJSON = parseJSONText "DistanceUnit"
data EnrollmentStatus
= ESDeregistering
| ESDisassociating
| ESInitialized
| ESPending
| ESRegistered
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText EnrollmentStatus where
parser = takeLowerText >>= \case
"deregistering" -> pure ESDeregistering
"disassociating" -> pure ESDisassociating
"initialized" -> pure ESInitialized
"pending" -> pure ESPending
"registered" -> pure ESRegistered
e -> fromTextError $ "Failure parsing EnrollmentStatus from value: '" <> e
<> "'. Accepted values: deregistering, disassociating, initialized, pending, registered"
instance ToText EnrollmentStatus where
toText = \case
ESDeregistering -> "DEREGISTERING"
ESDisassociating -> "DISASSOCIATING"
ESInitialized -> "INITIALIZED"
ESPending -> "PENDING"
ESRegistered -> "REGISTERED"
instance Hashable EnrollmentStatus
instance NFData EnrollmentStatus
instance ToByteString EnrollmentStatus
instance ToQuery EnrollmentStatus
instance ToHeader EnrollmentStatus
instance FromJSON EnrollmentStatus where
parseJSON = parseJSONText "EnrollmentStatus"
data Feature
= All
| Bluetooth
| Lists
| Notifications
| Skills
| Volume
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText Feature where
parser = takeLowerText >>= \case
"all" -> pure All
"bluetooth" -> pure Bluetooth
"lists" -> pure Lists
"notifications" -> pure Notifications
"skills" -> pure Skills
"volume" -> pure Volume
e -> fromTextError $ "Failure parsing Feature from value: '" <> e
<> "'. Accepted values: all, bluetooth, lists, notifications, skills, volume"
instance ToText Feature where
toText = \case
All -> "ALL"
Bluetooth -> "BLUETOOTH"
Lists -> "LISTS"
Notifications -> "NOTIFICATIONS"
Skills -> "SKILLS"
Volume -> "VOLUME"
instance Hashable Feature
instance NFData Feature
instance ToByteString Feature
instance ToQuery Feature
instance ToHeader Feature
instance ToJSON Feature where
toJSON = toJSONText
data SortValue
= Asc
| Desc
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText SortValue where
parser = takeLowerText >>= \case
"asc" -> pure Asc
"desc" -> pure Desc
e -> fromTextError $ "Failure parsing SortValue from value: '" <> e
<> "'. Accepted values: asc, desc"
instance ToText SortValue where
toText = \case
Asc -> "ASC"
Desc -> "DESC"
instance Hashable SortValue
instance NFData SortValue
instance ToByteString SortValue
instance ToQuery SortValue
instance ToHeader SortValue
instance ToJSON SortValue where
toJSON = toJSONText
data TemperatureUnit
= Celsius
| Fahrenheit
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText TemperatureUnit where
parser = takeLowerText >>= \case
"celsius" -> pure Celsius
"fahrenheit" -> pure Fahrenheit
e -> fromTextError $ "Failure parsing TemperatureUnit from value: '" <> e
<> "'. Accepted values: celsius, fahrenheit"
instance ToText TemperatureUnit where
toText = \case
Celsius -> "CELSIUS"
Fahrenheit -> "FAHRENHEIT"
instance Hashable TemperatureUnit
instance NFData TemperatureUnit
instance ToByteString TemperatureUnit
instance ToQuery TemperatureUnit
instance ToHeader TemperatureUnit
instance ToJSON TemperatureUnit where
toJSON = toJSONText
instance FromJSON TemperatureUnit where
parseJSON = parseJSONText "TemperatureUnit"
data WakeWord
= Alexa
| Amazon
| Computer
| Echo
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText WakeWord where
parser = takeLowerText >>= \case
"alexa" -> pure Alexa
"amazon" -> pure Amazon
"computer" -> pure Computer
"echo" -> pure Echo
e -> fromTextError $ "Failure parsing WakeWord from value: '" <> e
<> "'. Accepted values: alexa, amazon, computer, echo"
instance ToText WakeWord where
toText = \case
Alexa -> "ALEXA"
Amazon -> "AMAZON"
Computer -> "COMPUTER"
Echo -> "ECHO"
instance Hashable WakeWord
instance NFData WakeWord
instance ToByteString WakeWord
instance ToQuery WakeWord
instance ToHeader WakeWord
instance ToJSON WakeWord where
toJSON = toJSONText
instance FromJSON WakeWord where
parseJSON = parseJSONText "WakeWord"