{-# 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.CloudFormation.Types.StackStatus
-- 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.CloudFormation.Types.StackStatus
  ( StackStatus
      ( ..,
        StackStatus_CREATE_COMPLETE,
        StackStatus_CREATE_FAILED,
        StackStatus_CREATE_IN_PROGRESS,
        StackStatus_DELETE_COMPLETE,
        StackStatus_DELETE_FAILED,
        StackStatus_DELETE_IN_PROGRESS,
        StackStatus_IMPORT_COMPLETE,
        StackStatus_IMPORT_IN_PROGRESS,
        StackStatus_IMPORT_ROLLBACK_COMPLETE,
        StackStatus_IMPORT_ROLLBACK_FAILED,
        StackStatus_IMPORT_ROLLBACK_IN_PROGRESS,
        StackStatus_REVIEW_IN_PROGRESS,
        StackStatus_ROLLBACK_COMPLETE,
        StackStatus_ROLLBACK_FAILED,
        StackStatus_ROLLBACK_IN_PROGRESS,
        StackStatus_UPDATE_COMPLETE,
        StackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS,
        StackStatus_UPDATE_FAILED,
        StackStatus_UPDATE_IN_PROGRESS,
        StackStatus_UPDATE_ROLLBACK_COMPLETE,
        StackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS,
        StackStatus_UPDATE_ROLLBACK_FAILED,
        StackStatus_UPDATE_ROLLBACK_IN_PROGRESS
      ),
  )
where

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

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

pattern StackStatus_CREATE_COMPLETE :: StackStatus
pattern $bStackStatus_CREATE_COMPLETE :: StackStatus
$mStackStatus_CREATE_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_CREATE_COMPLETE = StackStatus' "CREATE_COMPLETE"

pattern StackStatus_CREATE_FAILED :: StackStatus
pattern $bStackStatus_CREATE_FAILED :: StackStatus
$mStackStatus_CREATE_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_CREATE_FAILED = StackStatus' "CREATE_FAILED"

pattern StackStatus_CREATE_IN_PROGRESS :: StackStatus
pattern $bStackStatus_CREATE_IN_PROGRESS :: StackStatus
$mStackStatus_CREATE_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_CREATE_IN_PROGRESS = StackStatus' "CREATE_IN_PROGRESS"

pattern StackStatus_DELETE_COMPLETE :: StackStatus
pattern $bStackStatus_DELETE_COMPLETE :: StackStatus
$mStackStatus_DELETE_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_DELETE_COMPLETE = StackStatus' "DELETE_COMPLETE"

pattern StackStatus_DELETE_FAILED :: StackStatus
pattern $bStackStatus_DELETE_FAILED :: StackStatus
$mStackStatus_DELETE_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_DELETE_FAILED = StackStatus' "DELETE_FAILED"

pattern StackStatus_DELETE_IN_PROGRESS :: StackStatus
pattern $bStackStatus_DELETE_IN_PROGRESS :: StackStatus
$mStackStatus_DELETE_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_DELETE_IN_PROGRESS = StackStatus' "DELETE_IN_PROGRESS"

pattern StackStatus_IMPORT_COMPLETE :: StackStatus
pattern $bStackStatus_IMPORT_COMPLETE :: StackStatus
$mStackStatus_IMPORT_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_IMPORT_COMPLETE = StackStatus' "IMPORT_COMPLETE"

pattern StackStatus_IMPORT_IN_PROGRESS :: StackStatus
pattern $bStackStatus_IMPORT_IN_PROGRESS :: StackStatus
$mStackStatus_IMPORT_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_IMPORT_IN_PROGRESS = StackStatus' "IMPORT_IN_PROGRESS"

pattern StackStatus_IMPORT_ROLLBACK_COMPLETE :: StackStatus
pattern $bStackStatus_IMPORT_ROLLBACK_COMPLETE :: StackStatus
$mStackStatus_IMPORT_ROLLBACK_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_IMPORT_ROLLBACK_COMPLETE = StackStatus' "IMPORT_ROLLBACK_COMPLETE"

pattern StackStatus_IMPORT_ROLLBACK_FAILED :: StackStatus
pattern $bStackStatus_IMPORT_ROLLBACK_FAILED :: StackStatus
$mStackStatus_IMPORT_ROLLBACK_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_IMPORT_ROLLBACK_FAILED = StackStatus' "IMPORT_ROLLBACK_FAILED"

pattern StackStatus_IMPORT_ROLLBACK_IN_PROGRESS :: StackStatus
pattern $bStackStatus_IMPORT_ROLLBACK_IN_PROGRESS :: StackStatus
$mStackStatus_IMPORT_ROLLBACK_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_IMPORT_ROLLBACK_IN_PROGRESS = StackStatus' "IMPORT_ROLLBACK_IN_PROGRESS"

pattern StackStatus_REVIEW_IN_PROGRESS :: StackStatus
pattern $bStackStatus_REVIEW_IN_PROGRESS :: StackStatus
$mStackStatus_REVIEW_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_REVIEW_IN_PROGRESS = StackStatus' "REVIEW_IN_PROGRESS"

pattern StackStatus_ROLLBACK_COMPLETE :: StackStatus
pattern $bStackStatus_ROLLBACK_COMPLETE :: StackStatus
$mStackStatus_ROLLBACK_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_ROLLBACK_COMPLETE = StackStatus' "ROLLBACK_COMPLETE"

pattern StackStatus_ROLLBACK_FAILED :: StackStatus
pattern $bStackStatus_ROLLBACK_FAILED :: StackStatus
$mStackStatus_ROLLBACK_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_ROLLBACK_FAILED = StackStatus' "ROLLBACK_FAILED"

pattern StackStatus_ROLLBACK_IN_PROGRESS :: StackStatus
pattern $bStackStatus_ROLLBACK_IN_PROGRESS :: StackStatus
$mStackStatus_ROLLBACK_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_ROLLBACK_IN_PROGRESS = StackStatus' "ROLLBACK_IN_PROGRESS"

pattern StackStatus_UPDATE_COMPLETE :: StackStatus
pattern $bStackStatus_UPDATE_COMPLETE :: StackStatus
$mStackStatus_UPDATE_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_COMPLETE = StackStatus' "UPDATE_COMPLETE"

pattern StackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS :: StackStatus
pattern $bStackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS :: StackStatus
$mStackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS = StackStatus' "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"

pattern StackStatus_UPDATE_FAILED :: StackStatus
pattern $bStackStatus_UPDATE_FAILED :: StackStatus
$mStackStatus_UPDATE_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_FAILED = StackStatus' "UPDATE_FAILED"

pattern StackStatus_UPDATE_IN_PROGRESS :: StackStatus
pattern $bStackStatus_UPDATE_IN_PROGRESS :: StackStatus
$mStackStatus_UPDATE_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_IN_PROGRESS = StackStatus' "UPDATE_IN_PROGRESS"

pattern StackStatus_UPDATE_ROLLBACK_COMPLETE :: StackStatus
pattern $bStackStatus_UPDATE_ROLLBACK_COMPLETE :: StackStatus
$mStackStatus_UPDATE_ROLLBACK_COMPLETE :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_ROLLBACK_COMPLETE = StackStatus' "UPDATE_ROLLBACK_COMPLETE"

pattern StackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS :: StackStatus
pattern $bStackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS :: StackStatus
$mStackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS = StackStatus' "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"

pattern StackStatus_UPDATE_ROLLBACK_FAILED :: StackStatus
pattern $bStackStatus_UPDATE_ROLLBACK_FAILED :: StackStatus
$mStackStatus_UPDATE_ROLLBACK_FAILED :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_ROLLBACK_FAILED = StackStatus' "UPDATE_ROLLBACK_FAILED"

pattern StackStatus_UPDATE_ROLLBACK_IN_PROGRESS :: StackStatus
pattern $bStackStatus_UPDATE_ROLLBACK_IN_PROGRESS :: StackStatus
$mStackStatus_UPDATE_ROLLBACK_IN_PROGRESS :: forall r. StackStatus -> (Void# -> r) -> (Void# -> r) -> r
StackStatus_UPDATE_ROLLBACK_IN_PROGRESS = StackStatus' "UPDATE_ROLLBACK_IN_PROGRESS"

{-# COMPLETE
  StackStatus_CREATE_COMPLETE,
  StackStatus_CREATE_FAILED,
  StackStatus_CREATE_IN_PROGRESS,
  StackStatus_DELETE_COMPLETE,
  StackStatus_DELETE_FAILED,
  StackStatus_DELETE_IN_PROGRESS,
  StackStatus_IMPORT_COMPLETE,
  StackStatus_IMPORT_IN_PROGRESS,
  StackStatus_IMPORT_ROLLBACK_COMPLETE,
  StackStatus_IMPORT_ROLLBACK_FAILED,
  StackStatus_IMPORT_ROLLBACK_IN_PROGRESS,
  StackStatus_REVIEW_IN_PROGRESS,
  StackStatus_ROLLBACK_COMPLETE,
  StackStatus_ROLLBACK_FAILED,
  StackStatus_ROLLBACK_IN_PROGRESS,
  StackStatus_UPDATE_COMPLETE,
  StackStatus_UPDATE_COMPLETE_CLEANUP_IN_PROGRESS,
  StackStatus_UPDATE_FAILED,
  StackStatus_UPDATE_IN_PROGRESS,
  StackStatus_UPDATE_ROLLBACK_COMPLETE,
  StackStatus_UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS,
  StackStatus_UPDATE_ROLLBACK_FAILED,
  StackStatus_UPDATE_ROLLBACK_IN_PROGRESS,
  StackStatus'
  #-}