{-# 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.AlexaBusiness.Types.Sum -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- 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"