{-# 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.ReviewActionStatus
-- 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.ReviewActionStatus
  ( ReviewActionStatus
      ( ..,
        ReviewActionStatus_Cancelled,
        ReviewActionStatus_Failed,
        ReviewActionStatus_Intended,
        ReviewActionStatus_Succeeded
      ),
  )
where

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

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

pattern ReviewActionStatus_Cancelled :: ReviewActionStatus
pattern $bReviewActionStatus_Cancelled :: ReviewActionStatus
$mReviewActionStatus_Cancelled :: forall r. ReviewActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ReviewActionStatus_Cancelled = ReviewActionStatus' "Cancelled"

pattern ReviewActionStatus_Failed :: ReviewActionStatus
pattern $bReviewActionStatus_Failed :: ReviewActionStatus
$mReviewActionStatus_Failed :: forall r. ReviewActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ReviewActionStatus_Failed = ReviewActionStatus' "Failed"

pattern ReviewActionStatus_Intended :: ReviewActionStatus
pattern $bReviewActionStatus_Intended :: ReviewActionStatus
$mReviewActionStatus_Intended :: forall r. ReviewActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ReviewActionStatus_Intended = ReviewActionStatus' "Intended"

pattern ReviewActionStatus_Succeeded :: ReviewActionStatus
pattern $bReviewActionStatus_Succeeded :: ReviewActionStatus
$mReviewActionStatus_Succeeded :: forall r. ReviewActionStatus -> (Void# -> r) -> (Void# -> r) -> r
ReviewActionStatus_Succeeded = ReviewActionStatus' "Succeeded"

{-# COMPLETE
  ReviewActionStatus_Cancelled,
  ReviewActionStatus_Failed,
  ReviewActionStatus_Intended,
  ReviewActionStatus_Succeeded,
  ReviewActionStatus'
  #-}