{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.Greengrass.Types.Sum where
import Network.AWS.Prelude
data DeploymentType
= ForceResetDeployment
| NewDeployment
| Redeployment
| ResetDeployment
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DeploymentType where
parser = takeLowerText >>= \case
"forceresetdeployment" -> pure ForceResetDeployment
"newdeployment" -> pure NewDeployment
"redeployment" -> pure Redeployment
"resetdeployment" -> pure ResetDeployment
e -> fromTextError $ "Failure parsing DeploymentType from value: '" <> e
<> "'. Accepted values: forceresetdeployment, newdeployment, redeployment, resetdeployment"
instance ToText DeploymentType where
toText = \case
ForceResetDeployment -> "ForceResetDeployment"
NewDeployment -> "NewDeployment"
Redeployment -> "Redeployment"
ResetDeployment -> "ResetDeployment"
instance Hashable DeploymentType
instance NFData DeploymentType
instance ToByteString DeploymentType
instance ToQuery DeploymentType
instance ToHeader DeploymentType
instance ToJSON DeploymentType where
toJSON = toJSONText
instance FromJSON DeploymentType where
parseJSON = parseJSONText "DeploymentType"
data EncodingType
= Binary
| JSON
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText EncodingType where
parser = takeLowerText >>= \case
"binary" -> pure Binary
"json" -> pure JSON
e -> fromTextError $ "Failure parsing EncodingType from value: '" <> e
<> "'. Accepted values: binary, json"
instance ToText EncodingType where
toText = \case
Binary -> "binary"
JSON -> "json"
instance Hashable EncodingType
instance NFData EncodingType
instance ToByteString EncodingType
instance ToQuery EncodingType
instance ToHeader EncodingType
instance ToJSON EncodingType where
toJSON = toJSONText
instance FromJSON EncodingType where
parseJSON = parseJSONText "EncodingType"
data LoggerComponent
= GreengrassSystem
| Lambda
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoggerComponent where
parser = takeLowerText >>= \case
"greengrasssystem" -> pure GreengrassSystem
"lambda" -> pure Lambda
e -> fromTextError $ "Failure parsing LoggerComponent from value: '" <> e
<> "'. Accepted values: greengrasssystem, lambda"
instance ToText LoggerComponent where
toText = \case
GreengrassSystem -> "GreengrassSystem"
Lambda -> "Lambda"
instance Hashable LoggerComponent
instance NFData LoggerComponent
instance ToByteString LoggerComponent
instance ToQuery LoggerComponent
instance ToHeader LoggerComponent
instance ToJSON LoggerComponent where
toJSON = toJSONText
instance FromJSON LoggerComponent where
parseJSON = parseJSONText "LoggerComponent"
data LoggerLevel
= Debug
| Error'
| Fatal
| Info
| Warn
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoggerLevel where
parser = takeLowerText >>= \case
"debug" -> pure Debug
"error" -> pure Error'
"fatal" -> pure Fatal
"info" -> pure Info
"warn" -> pure Warn
e -> fromTextError $ "Failure parsing LoggerLevel from value: '" <> e
<> "'. Accepted values: debug, error, fatal, info, warn"
instance ToText LoggerLevel where
toText = \case
Debug -> "DEBUG"
Error' -> "ERROR"
Fatal -> "FATAL"
Info -> "INFO"
Warn -> "WARN"
instance Hashable LoggerLevel
instance NFData LoggerLevel
instance ToByteString LoggerLevel
instance ToQuery LoggerLevel
instance ToHeader LoggerLevel
instance ToJSON LoggerLevel where
toJSON = toJSONText
instance FromJSON LoggerLevel where
parseJSON = parseJSONText "LoggerLevel"
data LoggerType
= AWSCloudWatch
| FileSystem
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoggerType where
parser = takeLowerText >>= \case
"awscloudwatch" -> pure AWSCloudWatch
"filesystem" -> pure FileSystem
e -> fromTextError $ "Failure parsing LoggerType from value: '" <> e
<> "'. Accepted values: awscloudwatch, filesystem"
instance ToText LoggerType where
toText = \case
AWSCloudWatch -> "AWSCloudWatch"
FileSystem -> "FileSystem"
instance Hashable LoggerType
instance NFData LoggerType
instance ToByteString LoggerType
instance ToQuery LoggerType
instance ToHeader LoggerType
instance ToJSON LoggerType where
toJSON = toJSONText
instance FromJSON LoggerType where
parseJSON = parseJSONText "LoggerType"
data Permission
= RO
| RW
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText Permission where
parser = takeLowerText >>= \case
"ro" -> pure RO
"rw" -> pure RW
e -> fromTextError $ "Failure parsing Permission from value: '" <> e
<> "'. Accepted values: ro, rw"
instance ToText Permission where
toText = \case
RO -> "ro"
RW -> "rw"
instance Hashable Permission
instance NFData Permission
instance ToByteString Permission
instance ToQuery Permission
instance ToHeader Permission
instance ToJSON Permission where
toJSON = toJSONText
instance FromJSON Permission where
parseJSON = parseJSONText "Permission"
data SoftwareToUpdate
= Core
| OtaAgent
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText SoftwareToUpdate where
parser = takeLowerText >>= \case
"core" -> pure Core
"ota_agent" -> pure OtaAgent
e -> fromTextError $ "Failure parsing SoftwareToUpdate from value: '" <> e
<> "'. Accepted values: core, ota_agent"
instance ToText SoftwareToUpdate where
toText = \case
Core -> "core"
OtaAgent -> "ota_agent"
instance Hashable SoftwareToUpdate
instance NFData SoftwareToUpdate
instance ToByteString SoftwareToUpdate
instance ToQuery SoftwareToUpdate
instance ToHeader SoftwareToUpdate
instance ToJSON SoftwareToUpdate where
toJSON = toJSONText
data UpdateAgentLogLevel
= UALLDebug
| UALLError'
| UALLFatal
| UALLInfo
| UALLNone
| UALLTrace
| UALLVerbose
| UALLWarn
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText UpdateAgentLogLevel where
parser = takeLowerText >>= \case
"debug" -> pure UALLDebug
"error" -> pure UALLError'
"fatal" -> pure UALLFatal
"info" -> pure UALLInfo
"none" -> pure UALLNone
"trace" -> pure UALLTrace
"verbose" -> pure UALLVerbose
"warn" -> pure UALLWarn
e -> fromTextError $ "Failure parsing UpdateAgentLogLevel from value: '" <> e
<> "'. Accepted values: debug, error, fatal, info, none, trace, verbose, warn"
instance ToText UpdateAgentLogLevel where
toText = \case
UALLDebug -> "DEBUG"
UALLError' -> "ERROR"
UALLFatal -> "FATAL"
UALLInfo -> "INFO"
UALLNone -> "NONE"
UALLTrace -> "TRACE"
UALLVerbose -> "VERBOSE"
UALLWarn -> "WARN"
instance Hashable UpdateAgentLogLevel
instance NFData UpdateAgentLogLevel
instance ToByteString UpdateAgentLogLevel
instance ToQuery UpdateAgentLogLevel
instance ToHeader UpdateAgentLogLevel
instance ToJSON UpdateAgentLogLevel where
toJSON = toJSONText
data UpdateTargetsArchitecture
= AARCH64
| Armv7l
| X86_64
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText UpdateTargetsArchitecture where
parser = takeLowerText >>= \case
"aarch64" -> pure AARCH64
"armv7l" -> pure Armv7l
"x86_64" -> pure X86_64
e -> fromTextError $ "Failure parsing UpdateTargetsArchitecture from value: '" <> e
<> "'. Accepted values: aarch64, armv7l, x86_64"
instance ToText UpdateTargetsArchitecture where
toText = \case
AARCH64 -> "aarch64"
Armv7l -> "armv7l"
X86_64 -> "x86_64"
instance Hashable UpdateTargetsArchitecture
instance NFData UpdateTargetsArchitecture
instance ToByteString UpdateTargetsArchitecture
instance ToQuery UpdateTargetsArchitecture
instance ToHeader UpdateTargetsArchitecture
instance ToJSON UpdateTargetsArchitecture where
toJSON = toJSONText
data UpdateTargetsOperatingSystem
= AmazonLinux
| Raspbian
| Ubuntu
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText UpdateTargetsOperatingSystem where
parser = takeLowerText >>= \case
"amazon_linux" -> pure AmazonLinux
"raspbian" -> pure Raspbian
"ubuntu" -> pure Ubuntu
e -> fromTextError $ "Failure parsing UpdateTargetsOperatingSystem from value: '" <> e
<> "'. Accepted values: amazon_linux, raspbian, ubuntu"
instance ToText UpdateTargetsOperatingSystem where
toText = \case
AmazonLinux -> "amazon_linux"
Raspbian -> "raspbian"
Ubuntu -> "ubuntu"
instance Hashable UpdateTargetsOperatingSystem
instance NFData UpdateTargetsOperatingSystem
instance ToByteString UpdateTargetsOperatingSystem
instance ToQuery UpdateTargetsOperatingSystem
instance ToHeader UpdateTargetsOperatingSystem
instance ToJSON UpdateTargetsOperatingSystem where
toJSON = toJSONText