{-# 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.CaptureMode
-- 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.CaptureMode
  ( CaptureMode
      ( ..,
        CaptureMode_Input,
        CaptureMode_Output
      ),
  )
where

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

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

pattern CaptureMode_Input :: CaptureMode
pattern $bCaptureMode_Input :: CaptureMode
$mCaptureMode_Input :: forall r. CaptureMode -> (Void# -> r) -> (Void# -> r) -> r
CaptureMode_Input = CaptureMode' "Input"

pattern CaptureMode_Output :: CaptureMode
pattern $bCaptureMode_Output :: CaptureMode
$mCaptureMode_Output :: forall r. CaptureMode -> (Void# -> r) -> (Void# -> r) -> r
CaptureMode_Output = CaptureMode' "Output"

{-# COMPLETE
  CaptureMode_Input,
  CaptureMode_Output,
  CaptureMode'
  #-}