{-# 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.CaptureStatus
-- 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.CaptureStatus
  ( CaptureStatus
      ( ..,
        CaptureStatus_Started,
        CaptureStatus_Stopped
      ),
  )
where

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

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

pattern CaptureStatus_Started :: CaptureStatus
pattern $bCaptureStatus_Started :: CaptureStatus
$mCaptureStatus_Started :: forall r. CaptureStatus -> (Void# -> r) -> (Void# -> r) -> r
CaptureStatus_Started = CaptureStatus' "Started"

pattern CaptureStatus_Stopped :: CaptureStatus
pattern $bCaptureStatus_Stopped :: CaptureStatus
$mCaptureStatus_Stopped :: forall r. CaptureStatus -> (Void# -> r) -> (Void# -> r) -> r
CaptureStatus_Stopped = CaptureStatus' "Stopped"

{-# COMPLETE
  CaptureStatus_Started,
  CaptureStatus_Stopped,
  CaptureStatus'
  #-}