{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Detective.Types.MemberDisabledReason
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Detective.Types.MemberDisabledReason
  ( MemberDisabledReason
      ( ..,
        MemberDisabledReason_VOLUME_TOO_HIGH,
        MemberDisabledReason_VOLUME_UNKNOWN
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype MemberDisabledReason = MemberDisabledReason'
  { MemberDisabledReason -> Text
fromMemberDisabledReason ::
      Core.Text
  }
  deriving stock
    ( Int -> MemberDisabledReason -> ShowS
[MemberDisabledReason] -> ShowS
MemberDisabledReason -> String
(Int -> MemberDisabledReason -> ShowS)
-> (MemberDisabledReason -> String)
-> ([MemberDisabledReason] -> ShowS)
-> Show MemberDisabledReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MemberDisabledReason] -> ShowS
$cshowList :: [MemberDisabledReason] -> ShowS
show :: MemberDisabledReason -> String
$cshow :: MemberDisabledReason -> String
showsPrec :: Int -> MemberDisabledReason -> ShowS
$cshowsPrec :: Int -> MemberDisabledReason -> ShowS
Prelude.Show,
      ReadPrec [MemberDisabledReason]
ReadPrec MemberDisabledReason
Int -> ReadS MemberDisabledReason
ReadS [MemberDisabledReason]
(Int -> ReadS MemberDisabledReason)
-> ReadS [MemberDisabledReason]
-> ReadPrec MemberDisabledReason
-> ReadPrec [MemberDisabledReason]
-> Read MemberDisabledReason
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [MemberDisabledReason]
$creadListPrec :: ReadPrec [MemberDisabledReason]
readPrec :: ReadPrec MemberDisabledReason
$creadPrec :: ReadPrec MemberDisabledReason
readList :: ReadS [MemberDisabledReason]
$creadList :: ReadS [MemberDisabledReason]
readsPrec :: Int -> ReadS MemberDisabledReason
$creadsPrec :: Int -> ReadS MemberDisabledReason
Prelude.Read,
      MemberDisabledReason -> MemberDisabledReason -> Bool
(MemberDisabledReason -> MemberDisabledReason -> Bool)
-> (MemberDisabledReason -> MemberDisabledReason -> Bool)
-> Eq MemberDisabledReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c/= :: MemberDisabledReason -> MemberDisabledReason -> Bool
== :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c== :: MemberDisabledReason -> MemberDisabledReason -> Bool
Prelude.Eq,
      Eq MemberDisabledReason
Eq MemberDisabledReason
-> (MemberDisabledReason -> MemberDisabledReason -> Ordering)
-> (MemberDisabledReason -> MemberDisabledReason -> Bool)
-> (MemberDisabledReason -> MemberDisabledReason -> Bool)
-> (MemberDisabledReason -> MemberDisabledReason -> Bool)
-> (MemberDisabledReason -> MemberDisabledReason -> Bool)
-> (MemberDisabledReason
    -> MemberDisabledReason -> MemberDisabledReason)
-> (MemberDisabledReason
    -> MemberDisabledReason -> MemberDisabledReason)
-> Ord MemberDisabledReason
MemberDisabledReason -> MemberDisabledReason -> Bool
MemberDisabledReason -> MemberDisabledReason -> Ordering
MemberDisabledReason
-> MemberDisabledReason -> MemberDisabledReason
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: MemberDisabledReason
-> MemberDisabledReason -> MemberDisabledReason
$cmin :: MemberDisabledReason
-> MemberDisabledReason -> MemberDisabledReason
max :: MemberDisabledReason
-> MemberDisabledReason -> MemberDisabledReason
$cmax :: MemberDisabledReason
-> MemberDisabledReason -> MemberDisabledReason
>= :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c>= :: MemberDisabledReason -> MemberDisabledReason -> Bool
> :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c> :: MemberDisabledReason -> MemberDisabledReason -> Bool
<= :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c<= :: MemberDisabledReason -> MemberDisabledReason -> Bool
< :: MemberDisabledReason -> MemberDisabledReason -> Bool
$c< :: MemberDisabledReason -> MemberDisabledReason -> Bool
compare :: MemberDisabledReason -> MemberDisabledReason -> Ordering
$ccompare :: MemberDisabledReason -> MemberDisabledReason -> Ordering
$cp1Ord :: Eq MemberDisabledReason
Prelude.Ord,
      (forall x. MemberDisabledReason -> Rep MemberDisabledReason x)
-> (forall x. Rep MemberDisabledReason x -> MemberDisabledReason)
-> Generic MemberDisabledReason
forall x. Rep MemberDisabledReason x -> MemberDisabledReason
forall x. MemberDisabledReason -> Rep MemberDisabledReason x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep MemberDisabledReason x -> MemberDisabledReason
$cfrom :: forall x. MemberDisabledReason -> Rep MemberDisabledReason x
Prelude.Generic
    )
  deriving newtype
    ( Int -> MemberDisabledReason -> Int
MemberDisabledReason -> Int
(Int -> MemberDisabledReason -> Int)
-> (MemberDisabledReason -> Int) -> Hashable MemberDisabledReason
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: MemberDisabledReason -> Int
$chash :: MemberDisabledReason -> Int
hashWithSalt :: Int -> MemberDisabledReason -> Int
$chashWithSalt :: Int -> MemberDisabledReason -> Int
Prelude.Hashable,
      MemberDisabledReason -> ()
(MemberDisabledReason -> ()) -> NFData MemberDisabledReason
forall a. (a -> ()) -> NFData a
rnf :: MemberDisabledReason -> ()
$crnf :: MemberDisabledReason -> ()
Prelude.NFData,
      Text -> Either String MemberDisabledReason
(Text -> Either String MemberDisabledReason)
-> FromText MemberDisabledReason
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String MemberDisabledReason
$cfromText :: Text -> Either String MemberDisabledReason
Core.FromText,
      MemberDisabledReason -> Text
(MemberDisabledReason -> Text) -> ToText MemberDisabledReason
forall a. (a -> Text) -> ToText a
toText :: MemberDisabledReason -> Text
$ctoText :: MemberDisabledReason -> Text
Core.ToText,
      MemberDisabledReason -> ByteString
(MemberDisabledReason -> ByteString)
-> ToByteString MemberDisabledReason
forall a. (a -> ByteString) -> ToByteString a
toBS :: MemberDisabledReason -> ByteString
$ctoBS :: MemberDisabledReason -> ByteString
Core.ToByteString,
      MemberDisabledReason -> ByteStringBuilder
(MemberDisabledReason -> ByteStringBuilder)
-> ToLog MemberDisabledReason
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: MemberDisabledReason -> ByteStringBuilder
$cbuild :: MemberDisabledReason -> ByteStringBuilder
Core.ToLog,
      HeaderName -> MemberDisabledReason -> [Header]
(HeaderName -> MemberDisabledReason -> [Header])
-> ToHeader MemberDisabledReason
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> MemberDisabledReason -> [Header]
$ctoHeader :: HeaderName -> MemberDisabledReason -> [Header]
Core.ToHeader,
      MemberDisabledReason -> QueryString
(MemberDisabledReason -> QueryString)
-> ToQuery MemberDisabledReason
forall a. (a -> QueryString) -> ToQuery a
toQuery :: MemberDisabledReason -> QueryString
$ctoQuery :: MemberDisabledReason -> QueryString
Core.ToQuery,
      Value -> Parser [MemberDisabledReason]
Value -> Parser MemberDisabledReason
(Value -> Parser MemberDisabledReason)
-> (Value -> Parser [MemberDisabledReason])
-> FromJSON MemberDisabledReason
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [MemberDisabledReason]
$cparseJSONList :: Value -> Parser [MemberDisabledReason]
parseJSON :: Value -> Parser MemberDisabledReason
$cparseJSON :: Value -> Parser MemberDisabledReason
Core.FromJSON,
      FromJSONKeyFunction [MemberDisabledReason]
FromJSONKeyFunction MemberDisabledReason
FromJSONKeyFunction MemberDisabledReason
-> FromJSONKeyFunction [MemberDisabledReason]
-> FromJSONKey MemberDisabledReason
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [MemberDisabledReason]
$cfromJSONKeyList :: FromJSONKeyFunction [MemberDisabledReason]
fromJSONKey :: FromJSONKeyFunction MemberDisabledReason
$cfromJSONKey :: FromJSONKeyFunction MemberDisabledReason
Core.FromJSONKey,
      [MemberDisabledReason] -> Encoding
[MemberDisabledReason] -> Value
MemberDisabledReason -> Encoding
MemberDisabledReason -> Value
(MemberDisabledReason -> Value)
-> (MemberDisabledReason -> Encoding)
-> ([MemberDisabledReason] -> Value)
-> ([MemberDisabledReason] -> Encoding)
-> ToJSON MemberDisabledReason
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [MemberDisabledReason] -> Encoding
$ctoEncodingList :: [MemberDisabledReason] -> Encoding
toJSONList :: [MemberDisabledReason] -> Value
$ctoJSONList :: [MemberDisabledReason] -> Value
toEncoding :: MemberDisabledReason -> Encoding
$ctoEncoding :: MemberDisabledReason -> Encoding
toJSON :: MemberDisabledReason -> Value
$ctoJSON :: MemberDisabledReason -> Value
Core.ToJSON,
      ToJSONKeyFunction [MemberDisabledReason]
ToJSONKeyFunction MemberDisabledReason
ToJSONKeyFunction MemberDisabledReason
-> ToJSONKeyFunction [MemberDisabledReason]
-> ToJSONKey MemberDisabledReason
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [MemberDisabledReason]
$ctoJSONKeyList :: ToJSONKeyFunction [MemberDisabledReason]
toJSONKey :: ToJSONKeyFunction MemberDisabledReason
$ctoJSONKey :: ToJSONKeyFunction MemberDisabledReason
Core.ToJSONKey,
      [Node] -> Either String MemberDisabledReason
([Node] -> Either String MemberDisabledReason)
-> FromXML MemberDisabledReason
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String MemberDisabledReason
$cparseXML :: [Node] -> Either String MemberDisabledReason
Core.FromXML,
      MemberDisabledReason -> XML
(MemberDisabledReason -> XML) -> ToXML MemberDisabledReason
forall a. (a -> XML) -> ToXML a
toXML :: MemberDisabledReason -> XML
$ctoXML :: MemberDisabledReason -> XML
Core.ToXML
    )

pattern MemberDisabledReason_VOLUME_TOO_HIGH :: MemberDisabledReason
pattern $bMemberDisabledReason_VOLUME_TOO_HIGH :: MemberDisabledReason
$mMemberDisabledReason_VOLUME_TOO_HIGH :: forall r. MemberDisabledReason -> (Void# -> r) -> (Void# -> r) -> r
MemberDisabledReason_VOLUME_TOO_HIGH = MemberDisabledReason' "VOLUME_TOO_HIGH"

pattern MemberDisabledReason_VOLUME_UNKNOWN :: MemberDisabledReason
pattern $bMemberDisabledReason_VOLUME_UNKNOWN :: MemberDisabledReason
$mMemberDisabledReason_VOLUME_UNKNOWN :: forall r. MemberDisabledReason -> (Void# -> r) -> (Void# -> r) -> r
MemberDisabledReason_VOLUME_UNKNOWN = MemberDisabledReason' "VOLUME_UNKNOWN"

{-# COMPLETE
  MemberDisabledReason_VOLUME_TOO_HIGH,
  MemberDisabledReason_VOLUME_UNKNOWN,
  MemberDisabledReason'
  #-}