{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Redis.Types.Sum where
import Network.Google.Prelude hiding (Bytes)
data FailoverInstanceRequestDataProtectionMode
= DataProtectionModeUnspecified
| LimitedDataLoss
| ForceDataLoss
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable FailoverInstanceRequestDataProtectionMode
instance FromHttpApiData FailoverInstanceRequestDataProtectionMode where
parseQueryParam = \case
"DATA_PROTECTION_MODE_UNSPECIFIED" -> Right DataProtectionModeUnspecified
"LIMITED_DATA_LOSS" -> Right LimitedDataLoss
"FORCE_DATA_LOSS" -> Right ForceDataLoss
x -> Left ("Unable to parse FailoverInstanceRequestDataProtectionMode from: " <> x)
instance ToHttpApiData FailoverInstanceRequestDataProtectionMode where
toQueryParam = \case
DataProtectionModeUnspecified -> "DATA_PROTECTION_MODE_UNSPECIFIED"
LimitedDataLoss -> "LIMITED_DATA_LOSS"
ForceDataLoss -> "FORCE_DATA_LOSS"
instance FromJSON FailoverInstanceRequestDataProtectionMode where
parseJSON = parseJSONText "FailoverInstanceRequestDataProtectionMode"
instance ToJSON FailoverInstanceRequestDataProtectionMode where
toJSON = toJSONText
data InstanceTier
= TierUnspecified
| Basic
| StandardHa
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable InstanceTier
instance FromHttpApiData InstanceTier where
parseQueryParam = \case
"TIER_UNSPECIFIED" -> Right TierUnspecified
"BASIC" -> Right Basic
"STANDARD_HA" -> Right StandardHa
x -> Left ("Unable to parse InstanceTier from: " <> x)
instance ToHttpApiData InstanceTier where
toQueryParam = \case
TierUnspecified -> "TIER_UNSPECIFIED"
Basic -> "BASIC"
StandardHa -> "STANDARD_HA"
instance FromJSON InstanceTier where
parseJSON = parseJSONText "InstanceTier"
instance ToJSON InstanceTier where
toJSON = toJSONText
data Xgafv
= X1
| X2
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable Xgafv
instance FromHttpApiData Xgafv where
parseQueryParam = \case
"1" -> Right X1
"2" -> Right X2
x -> Left ("Unable to parse Xgafv from: " <> x)
instance ToHttpApiData Xgafv where
toQueryParam = \case
X1 -> "1"
X2 -> "2"
instance FromJSON Xgafv where
parseJSON = parseJSONText "Xgafv"
instance ToJSON Xgafv where
toJSON = toJSONText
data InstanceState
= StateUnspecified
| Creating
| Ready
| Updating
| Deleting
| Repairing
| Maintenance
| FailingOver
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable InstanceState
instance FromHttpApiData InstanceState where
parseQueryParam = \case
"STATE_UNSPECIFIED" -> Right StateUnspecified
"CREATING" -> Right Creating
"READY" -> Right Ready
"UPDATING" -> Right Updating
"DELETING" -> Right Deleting
"REPAIRING" -> Right Repairing
"MAINTENANCE" -> Right Maintenance
"FAILING_OVER" -> Right FailingOver
x -> Left ("Unable to parse InstanceState from: " <> x)
instance ToHttpApiData InstanceState where
toQueryParam = \case
StateUnspecified -> "STATE_UNSPECIFIED"
Creating -> "CREATING"
Ready -> "READY"
Updating -> "UPDATING"
Deleting -> "DELETING"
Repairing -> "REPAIRING"
Maintenance -> "MAINTENANCE"
FailingOver -> "FAILING_OVER"
instance FromJSON InstanceState where
parseJSON = parseJSONText "InstanceState"
instance ToJSON InstanceState where
toJSON = toJSONText