{-# 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.Pipes.Types.PipeState
-- 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.Pipes.Types.PipeState
  ( PipeState
      ( ..,
        PipeState_CREATE_FAILED,
        PipeState_CREATING,
        PipeState_DELETING,
        PipeState_RUNNING,
        PipeState_STARTING,
        PipeState_START_FAILED,
        PipeState_STOPPED,
        PipeState_STOPPING,
        PipeState_STOP_FAILED,
        PipeState_UPDATE_FAILED,
        PipeState_UPDATING
      ),
  )
where

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

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

pattern PipeState_CREATE_FAILED :: PipeState
pattern $bPipeState_CREATE_FAILED :: PipeState
$mPipeState_CREATE_FAILED :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_CREATE_FAILED = PipeState' "CREATE_FAILED"

pattern PipeState_CREATING :: PipeState
pattern $bPipeState_CREATING :: PipeState
$mPipeState_CREATING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_CREATING = PipeState' "CREATING"

pattern PipeState_DELETING :: PipeState
pattern $bPipeState_DELETING :: PipeState
$mPipeState_DELETING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_DELETING = PipeState' "DELETING"

pattern PipeState_RUNNING :: PipeState
pattern $bPipeState_RUNNING :: PipeState
$mPipeState_RUNNING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_RUNNING = PipeState' "RUNNING"

pattern PipeState_STARTING :: PipeState
pattern $bPipeState_STARTING :: PipeState
$mPipeState_STARTING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_STARTING = PipeState' "STARTING"

pattern PipeState_START_FAILED :: PipeState
pattern $bPipeState_START_FAILED :: PipeState
$mPipeState_START_FAILED :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_START_FAILED = PipeState' "START_FAILED"

pattern PipeState_STOPPED :: PipeState
pattern $bPipeState_STOPPED :: PipeState
$mPipeState_STOPPED :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_STOPPED = PipeState' "STOPPED"

pattern PipeState_STOPPING :: PipeState
pattern $bPipeState_STOPPING :: PipeState
$mPipeState_STOPPING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_STOPPING = PipeState' "STOPPING"

pattern PipeState_STOP_FAILED :: PipeState
pattern $bPipeState_STOP_FAILED :: PipeState
$mPipeState_STOP_FAILED :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_STOP_FAILED = PipeState' "STOP_FAILED"

pattern PipeState_UPDATE_FAILED :: PipeState
pattern $bPipeState_UPDATE_FAILED :: PipeState
$mPipeState_UPDATE_FAILED :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_UPDATE_FAILED = PipeState' "UPDATE_FAILED"

pattern PipeState_UPDATING :: PipeState
pattern $bPipeState_UPDATING :: PipeState
$mPipeState_UPDATING :: forall {r}. PipeState -> ((# #) -> r) -> ((# #) -> r) -> r
PipeState_UPDATING = PipeState' "UPDATING"

{-# COMPLETE
  PipeState_CREATE_FAILED,
  PipeState_CREATING,
  PipeState_DELETING,
  PipeState_RUNNING,
  PipeState_STARTING,
  PipeState_START_FAILED,
  PipeState_STOPPED,
  PipeState_STOPPING,
  PipeState_STOP_FAILED,
  PipeState_UPDATE_FAILED,
  PipeState_UPDATING,
  PipeState'
  #-}