{-# 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.DirectoryService.Types.RadiusStatus
-- 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.DirectoryService.Types.RadiusStatus
  ( RadiusStatus
      ( ..,
        RadiusStatus_Completed,
        RadiusStatus_Creating,
        RadiusStatus_Failed
      ),
  )
where

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

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

pattern RadiusStatus_Completed :: RadiusStatus
pattern $bRadiusStatus_Completed :: RadiusStatus
$mRadiusStatus_Completed :: forall r. RadiusStatus -> (Void# -> r) -> (Void# -> r) -> r
RadiusStatus_Completed = RadiusStatus' "Completed"

pattern RadiusStatus_Creating :: RadiusStatus
pattern $bRadiusStatus_Creating :: RadiusStatus
$mRadiusStatus_Creating :: forall r. RadiusStatus -> (Void# -> r) -> (Void# -> r) -> r
RadiusStatus_Creating = RadiusStatus' "Creating"

pattern RadiusStatus_Failed :: RadiusStatus
pattern $bRadiusStatus_Failed :: RadiusStatus
$mRadiusStatus_Failed :: forall r. RadiusStatus -> (Void# -> r) -> (Void# -> r) -> r
RadiusStatus_Failed = RadiusStatus' "Failed"

{-# COMPLETE
  RadiusStatus_Completed,
  RadiusStatus_Creating,
  RadiusStatus_Failed,
  RadiusStatus'
  #-}