{-# 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.MechanicalTurk.Types.QualificationTypeStatus
-- 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.MechanicalTurk.Types.QualificationTypeStatus
  ( QualificationTypeStatus
      ( ..,
        QualificationTypeStatus_Active,
        QualificationTypeStatus_Inactive
      ),
  )
where

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

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

pattern QualificationTypeStatus_Active :: QualificationTypeStatus
pattern $bQualificationTypeStatus_Active :: QualificationTypeStatus
$mQualificationTypeStatus_Active :: forall r.
QualificationTypeStatus -> (Void# -> r) -> (Void# -> r) -> r
QualificationTypeStatus_Active = QualificationTypeStatus' "Active"

pattern QualificationTypeStatus_Inactive :: QualificationTypeStatus
pattern $bQualificationTypeStatus_Inactive :: QualificationTypeStatus
$mQualificationTypeStatus_Inactive :: forall r.
QualificationTypeStatus -> (Void# -> r) -> (Void# -> r) -> r
QualificationTypeStatus_Inactive = QualificationTypeStatus' "Inactive"

{-# COMPLETE
  QualificationTypeStatus_Active,
  QualificationTypeStatus_Inactive,
  QualificationTypeStatus'
  #-}