{-# 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.FlowDefinitionStatus
-- 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.FlowDefinitionStatus
  ( FlowDefinitionStatus
      ( ..,
        FlowDefinitionStatus_Active,
        FlowDefinitionStatus_Deleting,
        FlowDefinitionStatus_Failed,
        FlowDefinitionStatus_Initializing
      ),
  )
where

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

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

pattern FlowDefinitionStatus_Active :: FlowDefinitionStatus
pattern $bFlowDefinitionStatus_Active :: FlowDefinitionStatus
$mFlowDefinitionStatus_Active :: forall r. FlowDefinitionStatus -> (Void# -> r) -> (Void# -> r) -> r
FlowDefinitionStatus_Active = FlowDefinitionStatus' "Active"

pattern FlowDefinitionStatus_Deleting :: FlowDefinitionStatus
pattern $bFlowDefinitionStatus_Deleting :: FlowDefinitionStatus
$mFlowDefinitionStatus_Deleting :: forall r. FlowDefinitionStatus -> (Void# -> r) -> (Void# -> r) -> r
FlowDefinitionStatus_Deleting = FlowDefinitionStatus' "Deleting"

pattern FlowDefinitionStatus_Failed :: FlowDefinitionStatus
pattern $bFlowDefinitionStatus_Failed :: FlowDefinitionStatus
$mFlowDefinitionStatus_Failed :: forall r. FlowDefinitionStatus -> (Void# -> r) -> (Void# -> r) -> r
FlowDefinitionStatus_Failed = FlowDefinitionStatus' "Failed"

pattern FlowDefinitionStatus_Initializing :: FlowDefinitionStatus
pattern $bFlowDefinitionStatus_Initializing :: FlowDefinitionStatus
$mFlowDefinitionStatus_Initializing :: forall r. FlowDefinitionStatus -> (Void# -> r) -> (Void# -> r) -> r
FlowDefinitionStatus_Initializing = FlowDefinitionStatus' "Initializing"

{-# COMPLETE
  FlowDefinitionStatus_Active,
  FlowDefinitionStatus_Deleting,
  FlowDefinitionStatus_Failed,
  FlowDefinitionStatus_Initializing,
  FlowDefinitionStatus'
  #-}