{-# 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.IVSChat.Types.LoggingConfigurationState
-- 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.IVSChat.Types.LoggingConfigurationState
  ( LoggingConfigurationState
      ( ..,
        LoggingConfigurationState_ACTIVE,
        LoggingConfigurationState_CREATE_FAILED,
        LoggingConfigurationState_CREATING,
        LoggingConfigurationState_DELETE_FAILED,
        LoggingConfigurationState_DELETING,
        LoggingConfigurationState_UPDATE_FAILED,
        LoggingConfigurationState_UPDATING
      ),
  )
where

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

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

pattern LoggingConfigurationState_ACTIVE :: LoggingConfigurationState
pattern $bLoggingConfigurationState_ACTIVE :: LoggingConfigurationState
$mLoggingConfigurationState_ACTIVE :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_ACTIVE = LoggingConfigurationState' "ACTIVE"

pattern LoggingConfigurationState_CREATE_FAILED :: LoggingConfigurationState
pattern $bLoggingConfigurationState_CREATE_FAILED :: LoggingConfigurationState
$mLoggingConfigurationState_CREATE_FAILED :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_CREATE_FAILED = LoggingConfigurationState' "CREATE_FAILED"

pattern LoggingConfigurationState_CREATING :: LoggingConfigurationState
pattern $bLoggingConfigurationState_CREATING :: LoggingConfigurationState
$mLoggingConfigurationState_CREATING :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_CREATING = LoggingConfigurationState' "CREATING"

pattern LoggingConfigurationState_DELETE_FAILED :: LoggingConfigurationState
pattern $bLoggingConfigurationState_DELETE_FAILED :: LoggingConfigurationState
$mLoggingConfigurationState_DELETE_FAILED :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_DELETE_FAILED = LoggingConfigurationState' "DELETE_FAILED"

pattern LoggingConfigurationState_DELETING :: LoggingConfigurationState
pattern $bLoggingConfigurationState_DELETING :: LoggingConfigurationState
$mLoggingConfigurationState_DELETING :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_DELETING = LoggingConfigurationState' "DELETING"

pattern LoggingConfigurationState_UPDATE_FAILED :: LoggingConfigurationState
pattern $bLoggingConfigurationState_UPDATE_FAILED :: LoggingConfigurationState
$mLoggingConfigurationState_UPDATE_FAILED :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_UPDATE_FAILED = LoggingConfigurationState' "UPDATE_FAILED"

pattern LoggingConfigurationState_UPDATING :: LoggingConfigurationState
pattern $bLoggingConfigurationState_UPDATING :: LoggingConfigurationState
$mLoggingConfigurationState_UPDATING :: forall {r}.
LoggingConfigurationState -> ((# #) -> r) -> ((# #) -> r) -> r
LoggingConfigurationState_UPDATING = LoggingConfigurationState' "UPDATING"

{-# COMPLETE
  LoggingConfigurationState_ACTIVE,
  LoggingConfigurationState_CREATE_FAILED,
  LoggingConfigurationState_CREATING,
  LoggingConfigurationState_DELETE_FAILED,
  LoggingConfigurationState_DELETING,
  LoggingConfigurationState_UPDATE_FAILED,
  LoggingConfigurationState_UPDATING,
  LoggingConfigurationState'
  #-}