{-# 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.AlexaBusiness.Types.EnrollmentStatus
-- 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.AlexaBusiness.Types.EnrollmentStatus
  ( EnrollmentStatus
      ( ..,
        EnrollmentStatus_DEREGISTERING,
        EnrollmentStatus_DISASSOCIATING,
        EnrollmentStatus_INITIALIZED,
        EnrollmentStatus_PENDING,
        EnrollmentStatus_REGISTERED
      ),
  )
where

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

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

pattern EnrollmentStatus_DEREGISTERING :: EnrollmentStatus
pattern $bEnrollmentStatus_DEREGISTERING :: EnrollmentStatus
$mEnrollmentStatus_DEREGISTERING :: forall r. EnrollmentStatus -> (Void# -> r) -> (Void# -> r) -> r
EnrollmentStatus_DEREGISTERING = EnrollmentStatus' "DEREGISTERING"

pattern EnrollmentStatus_DISASSOCIATING :: EnrollmentStatus
pattern $bEnrollmentStatus_DISASSOCIATING :: EnrollmentStatus
$mEnrollmentStatus_DISASSOCIATING :: forall r. EnrollmentStatus -> (Void# -> r) -> (Void# -> r) -> r
EnrollmentStatus_DISASSOCIATING = EnrollmentStatus' "DISASSOCIATING"

pattern EnrollmentStatus_INITIALIZED :: EnrollmentStatus
pattern $bEnrollmentStatus_INITIALIZED :: EnrollmentStatus
$mEnrollmentStatus_INITIALIZED :: forall r. EnrollmentStatus -> (Void# -> r) -> (Void# -> r) -> r
EnrollmentStatus_INITIALIZED = EnrollmentStatus' "INITIALIZED"

pattern EnrollmentStatus_PENDING :: EnrollmentStatus
pattern $bEnrollmentStatus_PENDING :: EnrollmentStatus
$mEnrollmentStatus_PENDING :: forall r. EnrollmentStatus -> (Void# -> r) -> (Void# -> r) -> r
EnrollmentStatus_PENDING = EnrollmentStatus' "PENDING"

pattern EnrollmentStatus_REGISTERED :: EnrollmentStatus
pattern $bEnrollmentStatus_REGISTERED :: EnrollmentStatus
$mEnrollmentStatus_REGISTERED :: forall r. EnrollmentStatus -> (Void# -> r) -> (Void# -> r) -> r
EnrollmentStatus_REGISTERED = EnrollmentStatus' "REGISTERED"

{-# COMPLETE
  EnrollmentStatus_DEREGISTERING,
  EnrollmentStatus_DISASSOCIATING,
  EnrollmentStatus_INITIALIZED,
  EnrollmentStatus_PENDING,
  EnrollmentStatus_REGISTERED,
  EnrollmentStatus'
  #-}