{-# 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.SSOAdmin.Types.StatusValues
-- 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.SSOAdmin.Types.StatusValues
  ( StatusValues
      ( ..,
        StatusValues_FAILED,
        StatusValues_IN_PROGRESS,
        StatusValues_SUCCEEDED
      ),
  )
where

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

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

pattern StatusValues_FAILED :: StatusValues
pattern $bStatusValues_FAILED :: StatusValues
$mStatusValues_FAILED :: forall r. StatusValues -> (Void# -> r) -> (Void# -> r) -> r
StatusValues_FAILED = StatusValues' "FAILED"

pattern StatusValues_IN_PROGRESS :: StatusValues
pattern $bStatusValues_IN_PROGRESS :: StatusValues
$mStatusValues_IN_PROGRESS :: forall r. StatusValues -> (Void# -> r) -> (Void# -> r) -> r
StatusValues_IN_PROGRESS = StatusValues' "IN_PROGRESS"

pattern StatusValues_SUCCEEDED :: StatusValues
pattern $bStatusValues_SUCCEEDED :: StatusValues
$mStatusValues_SUCCEEDED :: forall r. StatusValues -> (Void# -> r) -> (Void# -> r) -> r
StatusValues_SUCCEEDED = StatusValues' "SUCCEEDED"

{-# COMPLETE
  StatusValues_FAILED,
  StatusValues_IN_PROGRESS,
  StatusValues_SUCCEEDED,
  StatusValues'
  #-}