{-# 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.DynamoDB.Types.TableStatus
-- 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.DynamoDB.Types.TableStatus
  ( TableStatus
      ( ..,
        TableStatus_ACTIVE,
        TableStatus_ARCHIVED,
        TableStatus_ARCHIVING,
        TableStatus_CREATING,
        TableStatus_DELETING,
        TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS,
        TableStatus_UPDATING
      ),
  )
where

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

newtype TableStatus = TableStatus'
  { TableStatus -> Text
fromTableStatus ::
      Core.Text
  }
  deriving stock
    ( Int -> TableStatus -> ShowS
[TableStatus] -> ShowS
TableStatus -> String
(Int -> TableStatus -> ShowS)
-> (TableStatus -> String)
-> ([TableStatus] -> ShowS)
-> Show TableStatus
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]
(Int -> ReadS TableStatus)
-> ReadS [TableStatus]
-> ReadPrec TableStatus
-> ReadPrec [TableStatus]
-> Read 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
(TableStatus -> TableStatus -> Bool)
-> (TableStatus -> TableStatus -> Bool) -> Eq TableStatus
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
Eq TableStatus
-> (TableStatus -> TableStatus -> Ordering)
-> (TableStatus -> TableStatus -> Bool)
-> (TableStatus -> TableStatus -> Bool)
-> (TableStatus -> TableStatus -> Bool)
-> (TableStatus -> TableStatus -> Bool)
-> (TableStatus -> TableStatus -> TableStatus)
-> (TableStatus -> TableStatus -> TableStatus)
-> Ord 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
$cp1Ord :: Eq TableStatus
Prelude.Ord,
      (forall x. TableStatus -> Rep TableStatus x)
-> (forall x. Rep TableStatus x -> TableStatus)
-> Generic TableStatus
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
    ( Int -> TableStatus -> Int
TableStatus -> Int
(Int -> TableStatus -> Int)
-> (TableStatus -> Int) -> Hashable TableStatus
forall 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 -> ()
(TableStatus -> ()) -> NFData TableStatus
forall a. (a -> ()) -> NFData a
rnf :: TableStatus -> ()
$crnf :: TableStatus -> ()
Prelude.NFData,
      Text -> Either String TableStatus
(Text -> Either String TableStatus) -> FromText TableStatus
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String TableStatus
$cfromText :: Text -> Either String TableStatus
Core.FromText,
      TableStatus -> Text
(TableStatus -> Text) -> ToText TableStatus
forall a. (a -> Text) -> ToText a
toText :: TableStatus -> Text
$ctoText :: TableStatus -> Text
Core.ToText,
      TableStatus -> ByteString
(TableStatus -> ByteString) -> ToByteString TableStatus
forall a. (a -> ByteString) -> ToByteString a
toBS :: TableStatus -> ByteString
$ctoBS :: TableStatus -> ByteString
Core.ToByteString,
      TableStatus -> ByteStringBuilder
(TableStatus -> ByteStringBuilder) -> ToLog TableStatus
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: TableStatus -> ByteStringBuilder
$cbuild :: TableStatus -> ByteStringBuilder
Core.ToLog,
      HeaderName -> TableStatus -> [Header]
(HeaderName -> TableStatus -> [Header]) -> ToHeader TableStatus
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> TableStatus -> [Header]
$ctoHeader :: HeaderName -> TableStatus -> [Header]
Core.ToHeader,
      TableStatus -> QueryString
(TableStatus -> QueryString) -> ToQuery TableStatus
forall a. (a -> QueryString) -> ToQuery a
toQuery :: TableStatus -> QueryString
$ctoQuery :: TableStatus -> QueryString
Core.ToQuery,
      Value -> Parser [TableStatus]
Value -> Parser TableStatus
(Value -> Parser TableStatus)
-> (Value -> Parser [TableStatus]) -> FromJSON 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
Core.FromJSON,
      FromJSONKeyFunction [TableStatus]
FromJSONKeyFunction TableStatus
FromJSONKeyFunction TableStatus
-> FromJSONKeyFunction [TableStatus] -> FromJSONKey TableStatus
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [TableStatus]
$cfromJSONKeyList :: FromJSONKeyFunction [TableStatus]
fromJSONKey :: FromJSONKeyFunction TableStatus
$cfromJSONKey :: FromJSONKeyFunction TableStatus
Core.FromJSONKey,
      [TableStatus] -> Encoding
[TableStatus] -> Value
TableStatus -> Encoding
TableStatus -> Value
(TableStatus -> Value)
-> (TableStatus -> Encoding)
-> ([TableStatus] -> Value)
-> ([TableStatus] -> Encoding)
-> ToJSON TableStatus
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
Core.ToJSON,
      ToJSONKeyFunction [TableStatus]
ToJSONKeyFunction TableStatus
ToJSONKeyFunction TableStatus
-> ToJSONKeyFunction [TableStatus] -> ToJSONKey TableStatus
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [TableStatus]
$ctoJSONKeyList :: ToJSONKeyFunction [TableStatus]
toJSONKey :: ToJSONKeyFunction TableStatus
$ctoJSONKey :: ToJSONKeyFunction TableStatus
Core.ToJSONKey,
      [Node] -> Either String TableStatus
([Node] -> Either String TableStatus) -> FromXML TableStatus
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String TableStatus
$cparseXML :: [Node] -> Either String TableStatus
Core.FromXML,
      TableStatus -> XML
(TableStatus -> XML) -> ToXML TableStatus
forall a. (a -> XML) -> ToXML a
toXML :: TableStatus -> XML
$ctoXML :: TableStatus -> XML
Core.ToXML
    )

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

pattern TableStatus_ARCHIVED :: TableStatus
pattern $bTableStatus_ARCHIVED :: TableStatus
$mTableStatus_ARCHIVED :: forall r. TableStatus -> (Void# -> r) -> (Void# -> r) -> r
TableStatus_ARCHIVED = TableStatus' "ARCHIVED"

pattern TableStatus_ARCHIVING :: TableStatus
pattern $bTableStatus_ARCHIVING :: TableStatus
$mTableStatus_ARCHIVING :: forall r. TableStatus -> (Void# -> r) -> (Void# -> r) -> r
TableStatus_ARCHIVING = TableStatus' "ARCHIVING"

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

pattern TableStatus_DELETING :: TableStatus
pattern $bTableStatus_DELETING :: TableStatus
$mTableStatus_DELETING :: forall r. TableStatus -> (Void# -> r) -> (Void# -> 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 -> (Void# -> r) -> (Void# -> r) -> r
TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS = TableStatus' "INACCESSIBLE_ENCRYPTION_CREDENTIALS"

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

{-# COMPLETE
  TableStatus_ACTIVE,
  TableStatus_ARCHIVED,
  TableStatus_ARCHIVING,
  TableStatus_CREATING,
  TableStatus_DELETING,
  TableStatus_INACCESSIBLE_ENCRYPTION_CREDENTIALS,
  TableStatus_UPDATING,
  TableStatus'
  #-}