{-# 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.SecondaryStatus
-- 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.SecondaryStatus
  ( SecondaryStatus
      ( ..,
        SecondaryStatus_Completed,
        SecondaryStatus_Downloading,
        SecondaryStatus_DownloadingTrainingImage,
        SecondaryStatus_Failed,
        SecondaryStatus_Interrupted,
        SecondaryStatus_LaunchingMLInstances,
        SecondaryStatus_MaxRuntimeExceeded,
        SecondaryStatus_MaxWaitTimeExceeded,
        SecondaryStatus_PreparingTrainingStack,
        SecondaryStatus_Restarting,
        SecondaryStatus_Starting,
        SecondaryStatus_Stopped,
        SecondaryStatus_Stopping,
        SecondaryStatus_Training,
        SecondaryStatus_Updating,
        SecondaryStatus_Uploading
      ),
  )
where

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

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

pattern SecondaryStatus_Completed :: SecondaryStatus
pattern $bSecondaryStatus_Completed :: SecondaryStatus
$mSecondaryStatus_Completed :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Completed = SecondaryStatus' "Completed"

pattern SecondaryStatus_Downloading :: SecondaryStatus
pattern $bSecondaryStatus_Downloading :: SecondaryStatus
$mSecondaryStatus_Downloading :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Downloading = SecondaryStatus' "Downloading"

pattern SecondaryStatus_DownloadingTrainingImage :: SecondaryStatus
pattern $bSecondaryStatus_DownloadingTrainingImage :: SecondaryStatus
$mSecondaryStatus_DownloadingTrainingImage :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_DownloadingTrainingImage = SecondaryStatus' "DownloadingTrainingImage"

pattern SecondaryStatus_Failed :: SecondaryStatus
pattern $bSecondaryStatus_Failed :: SecondaryStatus
$mSecondaryStatus_Failed :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Failed = SecondaryStatus' "Failed"

pattern SecondaryStatus_Interrupted :: SecondaryStatus
pattern $bSecondaryStatus_Interrupted :: SecondaryStatus
$mSecondaryStatus_Interrupted :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Interrupted = SecondaryStatus' "Interrupted"

pattern SecondaryStatus_LaunchingMLInstances :: SecondaryStatus
pattern $bSecondaryStatus_LaunchingMLInstances :: SecondaryStatus
$mSecondaryStatus_LaunchingMLInstances :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_LaunchingMLInstances = SecondaryStatus' "LaunchingMLInstances"

pattern SecondaryStatus_MaxRuntimeExceeded :: SecondaryStatus
pattern $bSecondaryStatus_MaxRuntimeExceeded :: SecondaryStatus
$mSecondaryStatus_MaxRuntimeExceeded :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_MaxRuntimeExceeded = SecondaryStatus' "MaxRuntimeExceeded"

pattern SecondaryStatus_MaxWaitTimeExceeded :: SecondaryStatus
pattern $bSecondaryStatus_MaxWaitTimeExceeded :: SecondaryStatus
$mSecondaryStatus_MaxWaitTimeExceeded :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_MaxWaitTimeExceeded = SecondaryStatus' "MaxWaitTimeExceeded"

pattern SecondaryStatus_PreparingTrainingStack :: SecondaryStatus
pattern $bSecondaryStatus_PreparingTrainingStack :: SecondaryStatus
$mSecondaryStatus_PreparingTrainingStack :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_PreparingTrainingStack = SecondaryStatus' "PreparingTrainingStack"

pattern SecondaryStatus_Restarting :: SecondaryStatus
pattern $bSecondaryStatus_Restarting :: SecondaryStatus
$mSecondaryStatus_Restarting :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Restarting = SecondaryStatus' "Restarting"

pattern SecondaryStatus_Starting :: SecondaryStatus
pattern $bSecondaryStatus_Starting :: SecondaryStatus
$mSecondaryStatus_Starting :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Starting = SecondaryStatus' "Starting"

pattern SecondaryStatus_Stopped :: SecondaryStatus
pattern $bSecondaryStatus_Stopped :: SecondaryStatus
$mSecondaryStatus_Stopped :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Stopped = SecondaryStatus' "Stopped"

pattern SecondaryStatus_Stopping :: SecondaryStatus
pattern $bSecondaryStatus_Stopping :: SecondaryStatus
$mSecondaryStatus_Stopping :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Stopping = SecondaryStatus' "Stopping"

pattern SecondaryStatus_Training :: SecondaryStatus
pattern $bSecondaryStatus_Training :: SecondaryStatus
$mSecondaryStatus_Training :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Training = SecondaryStatus' "Training"

pattern SecondaryStatus_Updating :: SecondaryStatus
pattern $bSecondaryStatus_Updating :: SecondaryStatus
$mSecondaryStatus_Updating :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Updating = SecondaryStatus' "Updating"

pattern SecondaryStatus_Uploading :: SecondaryStatus
pattern $bSecondaryStatus_Uploading :: SecondaryStatus
$mSecondaryStatus_Uploading :: forall r. SecondaryStatus -> (Void# -> r) -> (Void# -> r) -> r
SecondaryStatus_Uploading = SecondaryStatus' "Uploading"

{-# COMPLETE
  SecondaryStatus_Completed,
  SecondaryStatus_Downloading,
  SecondaryStatus_DownloadingTrainingImage,
  SecondaryStatus_Failed,
  SecondaryStatus_Interrupted,
  SecondaryStatus_LaunchingMLInstances,
  SecondaryStatus_MaxRuntimeExceeded,
  SecondaryStatus_MaxWaitTimeExceeded,
  SecondaryStatus_PreparingTrainingStack,
  SecondaryStatus_Restarting,
  SecondaryStatus_Starting,
  SecondaryStatus_Stopped,
  SecondaryStatus_Stopping,
  SecondaryStatus_Training,
  SecondaryStatus_Updating,
  SecondaryStatus_Uploading,
  SecondaryStatus'
  #-}