{-# 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.SageMakerA2IRuntime.Types.HumanLoopStatus
-- 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.SageMakerA2IRuntime.Types.HumanLoopStatus
  ( HumanLoopStatus
      ( ..,
        HumanLoopStatus_Completed,
        HumanLoopStatus_Failed,
        HumanLoopStatus_InProgress,
        HumanLoopStatus_Stopped,
        HumanLoopStatus_Stopping
      ),
  )
where

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

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

pattern HumanLoopStatus_Completed :: HumanLoopStatus
pattern $bHumanLoopStatus_Completed :: HumanLoopStatus
$mHumanLoopStatus_Completed :: forall r. HumanLoopStatus -> (Void# -> r) -> (Void# -> r) -> r
HumanLoopStatus_Completed = HumanLoopStatus' "Completed"

pattern HumanLoopStatus_Failed :: HumanLoopStatus
pattern $bHumanLoopStatus_Failed :: HumanLoopStatus
$mHumanLoopStatus_Failed :: forall r. HumanLoopStatus -> (Void# -> r) -> (Void# -> r) -> r
HumanLoopStatus_Failed = HumanLoopStatus' "Failed"

pattern HumanLoopStatus_InProgress :: HumanLoopStatus
pattern $bHumanLoopStatus_InProgress :: HumanLoopStatus
$mHumanLoopStatus_InProgress :: forall r. HumanLoopStatus -> (Void# -> r) -> (Void# -> r) -> r
HumanLoopStatus_InProgress = HumanLoopStatus' "InProgress"

pattern HumanLoopStatus_Stopped :: HumanLoopStatus
pattern $bHumanLoopStatus_Stopped :: HumanLoopStatus
$mHumanLoopStatus_Stopped :: forall r. HumanLoopStatus -> (Void# -> r) -> (Void# -> r) -> r
HumanLoopStatus_Stopped = HumanLoopStatus' "Stopped"

pattern HumanLoopStatus_Stopping :: HumanLoopStatus
pattern $bHumanLoopStatus_Stopping :: HumanLoopStatus
$mHumanLoopStatus_Stopping :: forall r. HumanLoopStatus -> (Void# -> r) -> (Void# -> r) -> r
HumanLoopStatus_Stopping = HumanLoopStatus' "Stopping"

{-# COMPLETE
  HumanLoopStatus_Completed,
  HumanLoopStatus_Failed,
  HumanLoopStatus_InProgress,
  HumanLoopStatus_Stopped,
  HumanLoopStatus_Stopping,
  HumanLoopStatus'
  #-}