{-# 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.Glue.Types.TriggerState
-- 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.Glue.Types.TriggerState
  ( TriggerState
      ( ..,
        TriggerState_ACTIVATED,
        TriggerState_ACTIVATING,
        TriggerState_CREATED,
        TriggerState_CREATING,
        TriggerState_DEACTIVATED,
        TriggerState_DEACTIVATING,
        TriggerState_DELETING,
        TriggerState_UPDATING
      ),
  )
where

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

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

pattern TriggerState_ACTIVATED :: TriggerState
pattern $bTriggerState_ACTIVATED :: TriggerState
$mTriggerState_ACTIVATED :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_ACTIVATED = TriggerState' "ACTIVATED"

pattern TriggerState_ACTIVATING :: TriggerState
pattern $bTriggerState_ACTIVATING :: TriggerState
$mTriggerState_ACTIVATING :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_ACTIVATING = TriggerState' "ACTIVATING"

pattern TriggerState_CREATED :: TriggerState
pattern $bTriggerState_CREATED :: TriggerState
$mTriggerState_CREATED :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_CREATED = TriggerState' "CREATED"

pattern TriggerState_CREATING :: TriggerState
pattern $bTriggerState_CREATING :: TriggerState
$mTriggerState_CREATING :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_CREATING = TriggerState' "CREATING"

pattern TriggerState_DEACTIVATED :: TriggerState
pattern $bTriggerState_DEACTIVATED :: TriggerState
$mTriggerState_DEACTIVATED :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_DEACTIVATED = TriggerState' "DEACTIVATED"

pattern TriggerState_DEACTIVATING :: TriggerState
pattern $bTriggerState_DEACTIVATING :: TriggerState
$mTriggerState_DEACTIVATING :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_DEACTIVATING = TriggerState' "DEACTIVATING"

pattern TriggerState_DELETING :: TriggerState
pattern $bTriggerState_DELETING :: TriggerState
$mTriggerState_DELETING :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_DELETING = TriggerState' "DELETING"

pattern TriggerState_UPDATING :: TriggerState
pattern $bTriggerState_UPDATING :: TriggerState
$mTriggerState_UPDATING :: forall r. TriggerState -> (Void# -> r) -> (Void# -> r) -> r
TriggerState_UPDATING = TriggerState' "UPDATING"

{-# COMPLETE
  TriggerState_ACTIVATED,
  TriggerState_ACTIVATING,
  TriggerState_CREATED,
  TriggerState_CREATING,
  TriggerState_DEACTIVATED,
  TriggerState_DEACTIVATING,
  TriggerState_DELETING,
  TriggerState_UPDATING,
  TriggerState'
  #-}