{-# 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.SageMaker.Types.CandidateStatus
-- 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.SageMaker.Types.CandidateStatus
  ( CandidateStatus
      ( ..,
        CandidateStatus_Completed,
        CandidateStatus_Failed,
        CandidateStatus_InProgress,
        CandidateStatus_Stopped,
        CandidateStatus_Stopping
      ),
  )
where

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

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

pattern CandidateStatus_Completed :: CandidateStatus
pattern $bCandidateStatus_Completed :: CandidateStatus
$mCandidateStatus_Completed :: forall r. CandidateStatus -> (Void# -> r) -> (Void# -> r) -> r
CandidateStatus_Completed = CandidateStatus' "Completed"

pattern CandidateStatus_Failed :: CandidateStatus
pattern $bCandidateStatus_Failed :: CandidateStatus
$mCandidateStatus_Failed :: forall r. CandidateStatus -> (Void# -> r) -> (Void# -> r) -> r
CandidateStatus_Failed = CandidateStatus' "Failed"

pattern CandidateStatus_InProgress :: CandidateStatus
pattern $bCandidateStatus_InProgress :: CandidateStatus
$mCandidateStatus_InProgress :: forall r. CandidateStatus -> (Void# -> r) -> (Void# -> r) -> r
CandidateStatus_InProgress = CandidateStatus' "InProgress"

pattern CandidateStatus_Stopped :: CandidateStatus
pattern $bCandidateStatus_Stopped :: CandidateStatus
$mCandidateStatus_Stopped :: forall r. CandidateStatus -> (Void# -> r) -> (Void# -> r) -> r
CandidateStatus_Stopped = CandidateStatus' "Stopped"

pattern CandidateStatus_Stopping :: CandidateStatus
pattern $bCandidateStatus_Stopping :: CandidateStatus
$mCandidateStatus_Stopping :: forall r. CandidateStatus -> (Void# -> r) -> (Void# -> r) -> r
CandidateStatus_Stopping = CandidateStatus' "Stopping"

{-# COMPLETE
  CandidateStatus_Completed,
  CandidateStatus_Failed,
  CandidateStatus_InProgress,
  CandidateStatus_Stopped,
  CandidateStatus_Stopping,
  CandidateStatus'
  #-}