{-# 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.StageStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Types.StageStatus
  ( StageStatus
      ( ..,
        StageStatus_CREATING,
        StageStatus_DEPLOYED,
        StageStatus_FAILED,
        StageStatus_INPROGRESS,
        StageStatus_READYTODEPLOY,
        StageStatus_STARTING,
        StageStatus_STOPPED,
        StageStatus_STOPPING
      ),
  )
where

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

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

pattern StageStatus_CREATING :: StageStatus
pattern $bStageStatus_CREATING :: StageStatus
$mStageStatus_CREATING :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_CREATING = StageStatus' "CREATING"

pattern StageStatus_DEPLOYED :: StageStatus
pattern $bStageStatus_DEPLOYED :: StageStatus
$mStageStatus_DEPLOYED :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_DEPLOYED = StageStatus' "DEPLOYED"

pattern StageStatus_FAILED :: StageStatus
pattern $bStageStatus_FAILED :: StageStatus
$mStageStatus_FAILED :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_FAILED = StageStatus' "FAILED"

pattern StageStatus_INPROGRESS :: StageStatus
pattern $bStageStatus_INPROGRESS :: StageStatus
$mStageStatus_INPROGRESS :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_INPROGRESS = StageStatus' "INPROGRESS"

pattern StageStatus_READYTODEPLOY :: StageStatus
pattern $bStageStatus_READYTODEPLOY :: StageStatus
$mStageStatus_READYTODEPLOY :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_READYTODEPLOY = StageStatus' "READYTODEPLOY"

pattern StageStatus_STARTING :: StageStatus
pattern $bStageStatus_STARTING :: StageStatus
$mStageStatus_STARTING :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_STARTING = StageStatus' "STARTING"

pattern StageStatus_STOPPED :: StageStatus
pattern $bStageStatus_STOPPED :: StageStatus
$mStageStatus_STOPPED :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_STOPPED = StageStatus' "STOPPED"

pattern StageStatus_STOPPING :: StageStatus
pattern $bStageStatus_STOPPING :: StageStatus
$mStageStatus_STOPPING :: forall {r}. StageStatus -> ((# #) -> r) -> ((# #) -> r) -> r
StageStatus_STOPPING = StageStatus' "STOPPING"

{-# COMPLETE
  StageStatus_CREATING,
  StageStatus_DEPLOYED,
  StageStatus_FAILED,
  StageStatus_INPROGRESS,
  StageStatus_READYTODEPLOY,
  StageStatus_STARTING,
  StageStatus_STOPPED,
  StageStatus_STOPPING,
  StageStatus'
  #-}