{-# 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.KeySpaces.Types.TableStatus
-- 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.KeySpaces.Types.TableStatus
  ( TableStatus
      ( ..,
        TableStatus_ACTIVE,
        TableStatus_CREATING,
        TableStatus_DELETED,
        TableStatus_DELETING,
        TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS,
        TableStatus_RESTORING,
        TableStatus_UPDATING
      ),
  )
where

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

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

pattern TableStatus_ACTIVE :: TableStatus
pattern $bTableStatus_ACTIVE :: TableStatus
$mTableStatus_ACTIVE :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_ACTIVE = TableStatus' "ACTIVE"

pattern TableStatus_CREATING :: TableStatus
pattern $bTableStatus_CREATING :: TableStatus
$mTableStatus_CREATING :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_CREATING = TableStatus' "CREATING"

pattern TableStatus_DELETED :: TableStatus
pattern $bTableStatus_DELETED :: TableStatus
$mTableStatus_DELETED :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_DELETED = TableStatus' "DELETED"

pattern TableStatus_DELETING :: TableStatus
pattern $bTableStatus_DELETING :: TableStatus
$mTableStatus_DELETING :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_DELETING = TableStatus' "DELETING"

pattern TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS :: TableStatus
pattern $bTableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS :: TableStatus
$mTableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS = TableStatus' "INACCESSIBLE_ENCRYPTION_CREDENTIALS"

pattern TableStatus_RESTORING :: TableStatus
pattern $bTableStatus_RESTORING :: TableStatus
$mTableStatus_RESTORING :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_RESTORING = TableStatus' "RESTORING"

pattern TableStatus_UPDATING :: TableStatus
pattern $bTableStatus_UPDATING :: TableStatus
$mTableStatus_UPDATING :: forall {r}. TableStatus -> ((# #) -> r) -> ((# #) -> r) -> r
TableStatus_UPDATING = TableStatus' "UPDATING"

{-# COMPLETE
  TableStatus_ACTIVE,
  TableStatus_CREATING,
  TableStatus_DELETED,
  TableStatus_DELETING,
  TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS,
  TableStatus_RESTORING,
  TableStatus_UPDATING,
  TableStatus'
  #-}