{-# 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.ManagedBlockChain.Types.InvitationStatus
-- 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.ManagedBlockChain.Types.InvitationStatus
  ( InvitationStatus
      ( ..,
        InvitationStatus_ACCEPTED,
        InvitationStatus_ACCEPTING,
        InvitationStatus_EXPIRED,
        InvitationStatus_PENDING,
        InvitationStatus_REJECTED
      ),
  )
where

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

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

pattern InvitationStatus_ACCEPTED :: InvitationStatus
pattern $bInvitationStatus_ACCEPTED :: InvitationStatus
$mInvitationStatus_ACCEPTED :: forall r. InvitationStatus -> (Void# -> r) -> (Void# -> r) -> r
InvitationStatus_ACCEPTED = InvitationStatus' "ACCEPTED"

pattern InvitationStatus_ACCEPTING :: InvitationStatus
pattern $bInvitationStatus_ACCEPTING :: InvitationStatus
$mInvitationStatus_ACCEPTING :: forall r. InvitationStatus -> (Void# -> r) -> (Void# -> r) -> r
InvitationStatus_ACCEPTING = InvitationStatus' "ACCEPTING"

pattern InvitationStatus_EXPIRED :: InvitationStatus
pattern $bInvitationStatus_EXPIRED :: InvitationStatus
$mInvitationStatus_EXPIRED :: forall r. InvitationStatus -> (Void# -> r) -> (Void# -> r) -> r
InvitationStatus_EXPIRED = InvitationStatus' "EXPIRED"

pattern InvitationStatus_PENDING :: InvitationStatus
pattern $bInvitationStatus_PENDING :: InvitationStatus
$mInvitationStatus_PENDING :: forall r. InvitationStatus -> (Void# -> r) -> (Void# -> r) -> r
InvitationStatus_PENDING = InvitationStatus' "PENDING"

pattern InvitationStatus_REJECTED :: InvitationStatus
pattern $bInvitationStatus_REJECTED :: InvitationStatus
$mInvitationStatus_REJECTED :: forall r. InvitationStatus -> (Void# -> r) -> (Void# -> r) -> r
InvitationStatus_REJECTED = InvitationStatus' "REJECTED"

{-# COMPLETE
  InvitationStatus_ACCEPTED,
  InvitationStatus_ACCEPTING,
  InvitationStatus_EXPIRED,
  InvitationStatus_PENDING,
  InvitationStatus_REJECTED,
  InvitationStatus'
  #-}