{-# 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.ChangeSetHooksStatus
-- 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.CloudFormation.Types.ChangeSetHooksStatus
  ( ChangeSetHooksStatus
      ( ..,
        ChangeSetHooksStatus_PLANNED,
        ChangeSetHooksStatus_PLANNING,
        ChangeSetHooksStatus_UNAVAILABLE
      ),
  )
where

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

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

pattern ChangeSetHooksStatus_PLANNED :: ChangeSetHooksStatus
pattern $bChangeSetHooksStatus_PLANNED :: ChangeSetHooksStatus
$mChangeSetHooksStatus_PLANNED :: forall {r}.
ChangeSetHooksStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ChangeSetHooksStatus_PLANNED = ChangeSetHooksStatus' "PLANNED"

pattern ChangeSetHooksStatus_PLANNING :: ChangeSetHooksStatus
pattern $bChangeSetHooksStatus_PLANNING :: ChangeSetHooksStatus
$mChangeSetHooksStatus_PLANNING :: forall {r}.
ChangeSetHooksStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ChangeSetHooksStatus_PLANNING = ChangeSetHooksStatus' "PLANNING"

pattern ChangeSetHooksStatus_UNAVAILABLE :: ChangeSetHooksStatus
pattern $bChangeSetHooksStatus_UNAVAILABLE :: ChangeSetHooksStatus
$mChangeSetHooksStatus_UNAVAILABLE :: forall {r}.
ChangeSetHooksStatus -> ((# #) -> r) -> ((# #) -> r) -> r
ChangeSetHooksStatus_UNAVAILABLE = ChangeSetHooksStatus' "UNAVAILABLE"

{-# COMPLETE
  ChangeSetHooksStatus_PLANNED,
  ChangeSetHooksStatus_PLANNING,
  ChangeSetHooksStatus_UNAVAILABLE,
  ChangeSetHooksStatus'
  #-}