{-# 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.CloudTrail.Types.EventDataStoreStatus
-- 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.CloudTrail.Types.EventDataStoreStatus
  ( EventDataStoreStatus
      ( ..,
        EventDataStoreStatus_CREATED,
        EventDataStoreStatus_ENABLED,
        EventDataStoreStatus_PENDING_DELETION
      ),
  )
where

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

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

pattern EventDataStoreStatus_CREATED :: EventDataStoreStatus
pattern $bEventDataStoreStatus_CREATED :: EventDataStoreStatus
$mEventDataStoreStatus_CREATED :: forall {r}.
EventDataStoreStatus -> ((# #) -> r) -> ((# #) -> r) -> r
EventDataStoreStatus_CREATED = EventDataStoreStatus' "CREATED"

pattern EventDataStoreStatus_ENABLED :: EventDataStoreStatus
pattern $bEventDataStoreStatus_ENABLED :: EventDataStoreStatus
$mEventDataStoreStatus_ENABLED :: forall {r}.
EventDataStoreStatus -> ((# #) -> r) -> ((# #) -> r) -> r
EventDataStoreStatus_ENABLED = EventDataStoreStatus' "ENABLED"

pattern EventDataStoreStatus_PENDING_DELETION :: EventDataStoreStatus
pattern $bEventDataStoreStatus_PENDING_DELETION :: EventDataStoreStatus
$mEventDataStoreStatus_PENDING_DELETION :: forall {r}.
EventDataStoreStatus -> ((# #) -> r) -> ((# #) -> r) -> r
EventDataStoreStatus_PENDING_DELETION = EventDataStoreStatus' "PENDING_DELETION"

{-# COMPLETE
  EventDataStoreStatus_CREATED,
  EventDataStoreStatus_ENABLED,
  EventDataStoreStatus_PENDING_DELETION,
  EventDataStoreStatus'
  #-}