{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.WorkMail.Types.Sum where
import Network.AWS.Prelude
data EntityState
= Deleted
| Disabled
| Enabled
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText EntityState where
parser = takeLowerText >>= \case
"deleted" -> pure Deleted
"disabled" -> pure Disabled
"enabled" -> pure Enabled
e -> fromTextError $ "Failure parsing EntityState from value: '" <> e
<> "'. Accepted values: deleted, disabled, enabled"
instance ToText EntityState where
toText = \case
Deleted -> "DELETED"
Disabled -> "DISABLED"
Enabled -> "ENABLED"
instance Hashable EntityState
instance NFData EntityState
instance ToByteString EntityState
instance ToQuery EntityState
instance ToHeader EntityState
instance FromJSON EntityState where
parseJSON = parseJSONText "EntityState"
data MemberType
= Group
| User
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText MemberType where
parser = takeLowerText >>= \case
"group" -> pure Group
"user" -> pure User
e -> fromTextError $ "Failure parsing MemberType from value: '" <> e
<> "'. Accepted values: group, user"
instance ToText MemberType where
toText = \case
Group -> "GROUP"
User -> "USER"
instance Hashable MemberType
instance NFData MemberType
instance ToByteString MemberType
instance ToQuery MemberType
instance ToHeader MemberType
instance FromJSON MemberType where
parseJSON = parseJSONText "MemberType"
data PermissionType
= FullAccess
| SendAs
| SendOnBehalf
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText PermissionType where
parser = takeLowerText >>= \case
"full_access" -> pure FullAccess
"send_as" -> pure SendAs
"send_on_behalf" -> pure SendOnBehalf
e -> fromTextError $ "Failure parsing PermissionType from value: '" <> e
<> "'. Accepted values: full_access, send_as, send_on_behalf"
instance ToText PermissionType where
toText = \case
FullAccess -> "FULL_ACCESS"
SendAs -> "SEND_AS"
SendOnBehalf -> "SEND_ON_BEHALF"
instance Hashable PermissionType
instance NFData PermissionType
instance ToByteString PermissionType
instance ToQuery PermissionType
instance ToHeader PermissionType
instance ToJSON PermissionType where
toJSON = toJSONText
instance FromJSON PermissionType where
parseJSON = parseJSONText "PermissionType"
data ResourceType
= Equipment
| Room
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText ResourceType where
parser = takeLowerText >>= \case
"equipment" -> pure Equipment
"room" -> pure Room
e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e
<> "'. Accepted values: equipment, room"
instance ToText ResourceType where
toText = \case
Equipment -> "EQUIPMENT"
Room -> "ROOM"
instance Hashable ResourceType
instance NFData ResourceType
instance ToByteString ResourceType
instance ToQuery ResourceType
instance ToHeader ResourceType
instance ToJSON ResourceType where
toJSON = toJSONText
instance FromJSON ResourceType where
parseJSON = parseJSONText "ResourceType"
data UserRole
= URResource
| URSystemUser
| URUser
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText UserRole where
parser = takeLowerText >>= \case
"resource" -> pure URResource
"system_user" -> pure URSystemUser
"user" -> pure URUser
e -> fromTextError $ "Failure parsing UserRole from value: '" <> e
<> "'. Accepted values: resource, system_user, user"
instance ToText UserRole where
toText = \case
URResource -> "RESOURCE"
URSystemUser -> "SYSTEM_USER"
URUser -> "USER"
instance Hashable UserRole
instance NFData UserRole
instance ToByteString UserRole
instance ToQuery UserRole
instance ToHeader UserRole
instance FromJSON UserRole where
parseJSON = parseJSONText "UserRole"