{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.DynamoDB.Types.TableClassSummary where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DynamoDB.Types.AttributeValue
import Amazonka.DynamoDB.Types.TableClass
import Amazonka.DynamoDB.Types.WriteRequest
import qualified Amazonka.Prelude as Prelude
data TableClassSummary = TableClassSummary'
{
TableClassSummary -> Maybe POSIX
lastUpdateDateTime :: Prelude.Maybe Data.POSIX,
TableClassSummary -> Maybe TableClass
tableClass :: Prelude.Maybe TableClass
}
deriving (TableClassSummary -> TableClassSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableClassSummary -> TableClassSummary -> Bool
$c/= :: TableClassSummary -> TableClassSummary -> Bool
== :: TableClassSummary -> TableClassSummary -> Bool
$c== :: TableClassSummary -> TableClassSummary -> Bool
Prelude.Eq, ReadPrec [TableClassSummary]
ReadPrec TableClassSummary
Int -> ReadS TableClassSummary
ReadS [TableClassSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TableClassSummary]
$creadListPrec :: ReadPrec [TableClassSummary]
readPrec :: ReadPrec TableClassSummary
$creadPrec :: ReadPrec TableClassSummary
readList :: ReadS [TableClassSummary]
$creadList :: ReadS [TableClassSummary]
readsPrec :: Int -> ReadS TableClassSummary
$creadsPrec :: Int -> ReadS TableClassSummary
Prelude.Read, Int -> TableClassSummary -> ShowS
[TableClassSummary] -> ShowS
TableClassSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TableClassSummary] -> ShowS
$cshowList :: [TableClassSummary] -> ShowS
show :: TableClassSummary -> String
$cshow :: TableClassSummary -> String
showsPrec :: Int -> TableClassSummary -> ShowS
$cshowsPrec :: Int -> TableClassSummary -> ShowS
Prelude.Show, forall x. Rep TableClassSummary x -> TableClassSummary
forall x. TableClassSummary -> Rep TableClassSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TableClassSummary x -> TableClassSummary
$cfrom :: forall x. TableClassSummary -> Rep TableClassSummary x
Prelude.Generic)
newTableClassSummary ::
TableClassSummary
newTableClassSummary :: TableClassSummary
newTableClassSummary =
TableClassSummary'
{ $sel:lastUpdateDateTime:TableClassSummary' :: Maybe POSIX
lastUpdateDateTime =
forall a. Maybe a
Prelude.Nothing,
$sel:tableClass:TableClassSummary' :: Maybe TableClass
tableClass = forall a. Maybe a
Prelude.Nothing
}
tableClassSummary_lastUpdateDateTime :: Lens.Lens' TableClassSummary (Prelude.Maybe Prelude.UTCTime)
tableClassSummary_lastUpdateDateTime :: Lens' TableClassSummary (Maybe UTCTime)
tableClassSummary_lastUpdateDateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableClassSummary' {Maybe POSIX
lastUpdateDateTime :: Maybe POSIX
$sel:lastUpdateDateTime:TableClassSummary' :: TableClassSummary -> Maybe POSIX
lastUpdateDateTime} -> Maybe POSIX
lastUpdateDateTime) (\s :: TableClassSummary
s@TableClassSummary' {} Maybe POSIX
a -> TableClassSummary
s {$sel:lastUpdateDateTime:TableClassSummary' :: Maybe POSIX
lastUpdateDateTime = Maybe POSIX
a} :: TableClassSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
tableClassSummary_tableClass :: Lens.Lens' TableClassSummary (Prelude.Maybe TableClass)
tableClassSummary_tableClass :: Lens' TableClassSummary (Maybe TableClass)
tableClassSummary_tableClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableClassSummary' {Maybe TableClass
tableClass :: Maybe TableClass
$sel:tableClass:TableClassSummary' :: TableClassSummary -> Maybe TableClass
tableClass} -> Maybe TableClass
tableClass) (\s :: TableClassSummary
s@TableClassSummary' {} Maybe TableClass
a -> TableClassSummary
s {$sel:tableClass:TableClassSummary' :: Maybe TableClass
tableClass = Maybe TableClass
a} :: TableClassSummary)
instance Data.FromJSON TableClassSummary where
parseJSON :: Value -> Parser TableClassSummary
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"TableClassSummary"
( \Object
x ->
Maybe POSIX -> Maybe TableClass -> TableClassSummary
TableClassSummary'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"LastUpdateDateTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"TableClass")
)
instance Prelude.Hashable TableClassSummary where
hashWithSalt :: Int -> TableClassSummary -> Int
hashWithSalt Int
_salt TableClassSummary' {Maybe POSIX
Maybe TableClass
tableClass :: Maybe TableClass
lastUpdateDateTime :: Maybe POSIX
$sel:tableClass:TableClassSummary' :: TableClassSummary -> Maybe TableClass
$sel:lastUpdateDateTime:TableClassSummary' :: TableClassSummary -> Maybe POSIX
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdateDateTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableClass
tableClass
instance Prelude.NFData TableClassSummary where
rnf :: TableClassSummary -> ()
rnf TableClassSummary' {Maybe POSIX
Maybe TableClass
tableClass :: Maybe TableClass
lastUpdateDateTime :: Maybe POSIX
$sel:tableClass:TableClassSummary' :: TableClassSummary -> Maybe TableClass
$sel:lastUpdateDateTime:TableClassSummary' :: TableClassSummary -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdateDateTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableClass
tableClass