{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DMS.Types.TableStatistics
-- 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.DMS.Types.TableStatistics where

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

-- | Provides a collection of table statistics in response to a request by
-- the @DescribeTableStatistics@ operation.
--
-- /See:/ 'newTableStatistics' smart constructor.
data TableStatistics = TableStatistics'
  { -- | The validation state of the table.
    --
    -- This parameter can have the following values:
    --
    -- -   Not enabled – Validation isn\'t enabled for the table in the
    --     migration task.
    --
    -- -   Pending records – Some records in the table are waiting for
    --     validation.
    --
    -- -   Mismatched records – Some records in the table don\'t match between
    --     the source and target.
    --
    -- -   Suspended records – Some records in the table couldn\'t be
    --     validated.
    --
    -- -   No primary key –The table couldn\'t be validated because it has no
    --     primary key.
    --
    -- -   Table error – The table wasn\'t validated because it\'s in an error
    --     state and some data wasn\'t migrated.
    --
    -- -   Validated – All rows in the table are validated. If the table is
    --     updated, the status can change from Validated.
    --
    -- -   Error – The table couldn\'t be validated because of an unexpected
    --     error.
    --
    -- -   Pending validation – The table is waiting validation.
    --
    -- -   Preparing table – Preparing the table enabled in the migration task
    --     for validation.
    --
    -- -   Pending revalidation – All rows in the table are pending validation
    --     after the table was updated.
    TableStatistics -> Maybe Text
validationState :: Prelude.Maybe Prelude.Text,
    -- | The number of rows added during the full load operation.
    TableStatistics -> Maybe Integer
fullLoadRows :: Prelude.Maybe Prelude.Integer,
    -- | The number of insert actions performed on a table.
    TableStatistics -> Maybe Integer
inserts :: Prelude.Maybe Prelude.Integer,
    -- | The time when the full load operation completed.
    TableStatistics -> Maybe POSIX
fullLoadEndTime :: Prelude.Maybe Core.POSIX,
    -- | The number of rows that failed conditional checks during the full load
    -- operation (valid only for migrations where DynamoDB is the target).
    TableStatistics -> Maybe Integer
fullLoadCondtnlChkFailedRows :: Prelude.Maybe Prelude.Integer,
    -- | A value that indicates if the table was reloaded (@true@) or loaded as
    -- part of a new full load operation (@false@).
    TableStatistics -> Maybe Bool
fullLoadReloaded :: Prelude.Maybe Prelude.Bool,
    -- | The number of records that failed validation.
    TableStatistics -> Maybe Integer
validationFailedRecords :: Prelude.Maybe Prelude.Integer,
    -- | The number of records that couldn\'t be validated.
    TableStatistics -> Maybe Integer
validationSuspendedRecords :: Prelude.Maybe Prelude.Integer,
    -- | The schema name.
    TableStatistics -> Maybe Text
schemaName :: Prelude.Maybe Prelude.Text,
    -- | Additional details about the state of validation.
    TableStatistics -> Maybe Text
validationStateDetails :: Prelude.Maybe Prelude.Text,
    -- | The state of the tables described.
    --
    -- Valid states: Table does not exist | Before load | Full load | Table
    -- completed | Table cancelled | Table error | Table all | Table updates |
    -- Table is being reloaded
    TableStatistics -> Maybe Text
tableState :: Prelude.Maybe Prelude.Text,
    -- | The number of rows that failed to load during the full load operation
    -- (valid only for migrations where DynamoDB is the target).
    TableStatistics -> Maybe Integer
fullLoadErrorRows :: Prelude.Maybe Prelude.Integer,
    -- | The data definition language (DDL) used to build and modify the
    -- structure of your tables.
    TableStatistics -> Maybe Integer
ddls :: Prelude.Maybe Prelude.Integer,
    -- | The number of delete actions performed on a table.
    TableStatistics -> Maybe Integer
deletes :: Prelude.Maybe Prelude.Integer,
    -- | The number of update actions performed on a table.
    TableStatistics -> Maybe Integer
updates :: Prelude.Maybe Prelude.Integer,
    -- | The number of records that have yet to be validated.
    TableStatistics -> Maybe Integer
validationPendingRecords :: Prelude.Maybe Prelude.Integer,
    -- | The time when the full load operation started.
    TableStatistics -> Maybe POSIX
fullLoadStartTime :: Prelude.Maybe Core.POSIX,
    -- | The last time a table was updated.
    TableStatistics -> Maybe POSIX
lastUpdateTime :: Prelude.Maybe Core.POSIX,
    -- | The name of the table.
    TableStatistics -> Maybe Text
tableName :: Prelude.Maybe Prelude.Text
  }
  deriving (TableStatistics -> TableStatistics -> Bool
(TableStatistics -> TableStatistics -> Bool)
-> (TableStatistics -> TableStatistics -> Bool)
-> Eq TableStatistics
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableStatistics -> TableStatistics -> Bool
$c/= :: TableStatistics -> TableStatistics -> Bool
== :: TableStatistics -> TableStatistics -> Bool
$c== :: TableStatistics -> TableStatistics -> Bool
Prelude.Eq, ReadPrec [TableStatistics]
ReadPrec TableStatistics
Int -> ReadS TableStatistics
ReadS [TableStatistics]
(Int -> ReadS TableStatistics)
-> ReadS [TableStatistics]
-> ReadPrec TableStatistics
-> ReadPrec [TableStatistics]
-> Read TableStatistics
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TableStatistics]
$creadListPrec :: ReadPrec [TableStatistics]
readPrec :: ReadPrec TableStatistics
$creadPrec :: ReadPrec TableStatistics
readList :: ReadS [TableStatistics]
$creadList :: ReadS [TableStatistics]
readsPrec :: Int -> ReadS TableStatistics
$creadsPrec :: Int -> ReadS TableStatistics
Prelude.Read, Int -> TableStatistics -> ShowS
[TableStatistics] -> ShowS
TableStatistics -> String
(Int -> TableStatistics -> ShowS)
-> (TableStatistics -> String)
-> ([TableStatistics] -> ShowS)
-> Show TableStatistics
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TableStatistics] -> ShowS
$cshowList :: [TableStatistics] -> ShowS
show :: TableStatistics -> String
$cshow :: TableStatistics -> String
showsPrec :: Int -> TableStatistics -> ShowS
$cshowsPrec :: Int -> TableStatistics -> ShowS
Prelude.Show, (forall x. TableStatistics -> Rep TableStatistics x)
-> (forall x. Rep TableStatistics x -> TableStatistics)
-> Generic TableStatistics
forall x. Rep TableStatistics x -> TableStatistics
forall x. TableStatistics -> Rep TableStatistics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TableStatistics x -> TableStatistics
$cfrom :: forall x. TableStatistics -> Rep TableStatistics x
Prelude.Generic)

-- |
-- Create a value of 'TableStatistics' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'validationState', 'tableStatistics_validationState' - The validation state of the table.
--
-- This parameter can have the following values:
--
-- -   Not enabled – Validation isn\'t enabled for the table in the
--     migration task.
--
-- -   Pending records – Some records in the table are waiting for
--     validation.
--
-- -   Mismatched records – Some records in the table don\'t match between
--     the source and target.
--
-- -   Suspended records – Some records in the table couldn\'t be
--     validated.
--
-- -   No primary key –The table couldn\'t be validated because it has no
--     primary key.
--
-- -   Table error – The table wasn\'t validated because it\'s in an error
--     state and some data wasn\'t migrated.
--
-- -   Validated – All rows in the table are validated. If the table is
--     updated, the status can change from Validated.
--
-- -   Error – The table couldn\'t be validated because of an unexpected
--     error.
--
-- -   Pending validation – The table is waiting validation.
--
-- -   Preparing table – Preparing the table enabled in the migration task
--     for validation.
--
-- -   Pending revalidation – All rows in the table are pending validation
--     after the table was updated.
--
-- 'fullLoadRows', 'tableStatistics_fullLoadRows' - The number of rows added during the full load operation.
--
-- 'inserts', 'tableStatistics_inserts' - The number of insert actions performed on a table.
--
-- 'fullLoadEndTime', 'tableStatistics_fullLoadEndTime' - The time when the full load operation completed.
--
-- 'fullLoadCondtnlChkFailedRows', 'tableStatistics_fullLoadCondtnlChkFailedRows' - The number of rows that failed conditional checks during the full load
-- operation (valid only for migrations where DynamoDB is the target).
--
-- 'fullLoadReloaded', 'tableStatistics_fullLoadReloaded' - A value that indicates if the table was reloaded (@true@) or loaded as
-- part of a new full load operation (@false@).
--
-- 'validationFailedRecords', 'tableStatistics_validationFailedRecords' - The number of records that failed validation.
--
-- 'validationSuspendedRecords', 'tableStatistics_validationSuspendedRecords' - The number of records that couldn\'t be validated.
--
-- 'schemaName', 'tableStatistics_schemaName' - The schema name.
--
-- 'validationStateDetails', 'tableStatistics_validationStateDetails' - Additional details about the state of validation.
--
-- 'tableState', 'tableStatistics_tableState' - The state of the tables described.
--
-- Valid states: Table does not exist | Before load | Full load | Table
-- completed | Table cancelled | Table error | Table all | Table updates |
-- Table is being reloaded
--
-- 'fullLoadErrorRows', 'tableStatistics_fullLoadErrorRows' - The number of rows that failed to load during the full load operation
-- (valid only for migrations where DynamoDB is the target).
--
-- 'ddls', 'tableStatistics_ddls' - The data definition language (DDL) used to build and modify the
-- structure of your tables.
--
-- 'deletes', 'tableStatistics_deletes' - The number of delete actions performed on a table.
--
-- 'updates', 'tableStatistics_updates' - The number of update actions performed on a table.
--
-- 'validationPendingRecords', 'tableStatistics_validationPendingRecords' - The number of records that have yet to be validated.
--
-- 'fullLoadStartTime', 'tableStatistics_fullLoadStartTime' - The time when the full load operation started.
--
-- 'lastUpdateTime', 'tableStatistics_lastUpdateTime' - The last time a table was updated.
--
-- 'tableName', 'tableStatistics_tableName' - The name of the table.
newTableStatistics ::
  TableStatistics
newTableStatistics :: TableStatistics
newTableStatistics =
  TableStatistics' :: Maybe Text
-> Maybe Integer
-> Maybe Integer
-> Maybe POSIX
-> Maybe Integer
-> Maybe Bool
-> Maybe Integer
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> TableStatistics
TableStatistics'
    { $sel:validationState:TableStatistics' :: Maybe Text
validationState = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadRows:TableStatistics' :: Maybe Integer
fullLoadRows = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:inserts:TableStatistics' :: Maybe Integer
inserts = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadEndTime:TableStatistics' :: Maybe POSIX
fullLoadEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadCondtnlChkFailedRows:TableStatistics' :: Maybe Integer
fullLoadCondtnlChkFailedRows = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadReloaded:TableStatistics' :: Maybe Bool
fullLoadReloaded = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:validationFailedRecords:TableStatistics' :: Maybe Integer
validationFailedRecords = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:validationSuspendedRecords:TableStatistics' :: Maybe Integer
validationSuspendedRecords = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:schemaName:TableStatistics' :: Maybe Text
schemaName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:validationStateDetails:TableStatistics' :: Maybe Text
validationStateDetails = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tableState:TableStatistics' :: Maybe Text
tableState = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadErrorRows:TableStatistics' :: Maybe Integer
fullLoadErrorRows = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:ddls:TableStatistics' :: Maybe Integer
ddls = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:deletes:TableStatistics' :: Maybe Integer
deletes = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:updates:TableStatistics' :: Maybe Integer
updates = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:validationPendingRecords:TableStatistics' :: Maybe Integer
validationPendingRecords = Maybe Integer
forall a. Maybe a
Prelude.Nothing,
      $sel:fullLoadStartTime:TableStatistics' :: Maybe POSIX
fullLoadStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdateTime:TableStatistics' :: Maybe POSIX
lastUpdateTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:tableName:TableStatistics' :: Maybe Text
tableName = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The validation state of the table.
--
-- This parameter can have the following values:
--
-- -   Not enabled – Validation isn\'t enabled for the table in the
--     migration task.
--
-- -   Pending records – Some records in the table are waiting for
--     validation.
--
-- -   Mismatched records – Some records in the table don\'t match between
--     the source and target.
--
-- -   Suspended records – Some records in the table couldn\'t be
--     validated.
--
-- -   No primary key –The table couldn\'t be validated because it has no
--     primary key.
--
-- -   Table error – The table wasn\'t validated because it\'s in an error
--     state and some data wasn\'t migrated.
--
-- -   Validated – All rows in the table are validated. If the table is
--     updated, the status can change from Validated.
--
-- -   Error – The table couldn\'t be validated because of an unexpected
--     error.
--
-- -   Pending validation – The table is waiting validation.
--
-- -   Preparing table – Preparing the table enabled in the migration task
--     for validation.
--
-- -   Pending revalidation – All rows in the table are pending validation
--     after the table was updated.
tableStatistics_validationState :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Text)
tableStatistics_validationState :: (Maybe Text -> f (Maybe Text))
-> TableStatistics -> f TableStatistics
tableStatistics_validationState = (TableStatistics -> Maybe Text)
-> (TableStatistics -> Maybe Text -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Text
validationState :: Maybe Text
$sel:validationState:TableStatistics' :: TableStatistics -> Maybe Text
validationState} -> Maybe Text
validationState) (\s :: TableStatistics
s@TableStatistics' {} Maybe Text
a -> TableStatistics
s {$sel:validationState:TableStatistics' :: Maybe Text
validationState = Maybe Text
a} :: TableStatistics)

-- | The number of rows added during the full load operation.
tableStatistics_fullLoadRows :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_fullLoadRows :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadRows = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
fullLoadRows :: Maybe Integer
$sel:fullLoadRows:TableStatistics' :: TableStatistics -> Maybe Integer
fullLoadRows} -> Maybe Integer
fullLoadRows) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:fullLoadRows:TableStatistics' :: Maybe Integer
fullLoadRows = Maybe Integer
a} :: TableStatistics)

-- | The number of insert actions performed on a table.
tableStatistics_inserts :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_inserts :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_inserts = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
inserts :: Maybe Integer
$sel:inserts:TableStatistics' :: TableStatistics -> Maybe Integer
inserts} -> Maybe Integer
inserts) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:inserts:TableStatistics' :: Maybe Integer
inserts = Maybe Integer
a} :: TableStatistics)

-- | The time when the full load operation completed.
tableStatistics_fullLoadEndTime :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.UTCTime)
tableStatistics_fullLoadEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadEndTime = (TableStatistics -> Maybe POSIX)
-> (TableStatistics -> Maybe POSIX -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe POSIX
fullLoadEndTime :: Maybe POSIX
$sel:fullLoadEndTime:TableStatistics' :: TableStatistics -> Maybe POSIX
fullLoadEndTime} -> Maybe POSIX
fullLoadEndTime) (\s :: TableStatistics
s@TableStatistics' {} Maybe POSIX
a -> TableStatistics
s {$sel:fullLoadEndTime:TableStatistics' :: Maybe POSIX
fullLoadEndTime = Maybe POSIX
a} :: TableStatistics) ((Maybe POSIX -> f (Maybe POSIX))
 -> TableStatistics -> f TableStatistics)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics
-> f TableStatistics
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The number of rows that failed conditional checks during the full load
-- operation (valid only for migrations where DynamoDB is the target).
tableStatistics_fullLoadCondtnlChkFailedRows :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_fullLoadCondtnlChkFailedRows :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadCondtnlChkFailedRows = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
fullLoadCondtnlChkFailedRows :: Maybe Integer
$sel:fullLoadCondtnlChkFailedRows:TableStatistics' :: TableStatistics -> Maybe Integer
fullLoadCondtnlChkFailedRows} -> Maybe Integer
fullLoadCondtnlChkFailedRows) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:fullLoadCondtnlChkFailedRows:TableStatistics' :: Maybe Integer
fullLoadCondtnlChkFailedRows = Maybe Integer
a} :: TableStatistics)

-- | A value that indicates if the table was reloaded (@true@) or loaded as
-- part of a new full load operation (@false@).
tableStatistics_fullLoadReloaded :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Bool)
tableStatistics_fullLoadReloaded :: (Maybe Bool -> f (Maybe Bool))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadReloaded = (TableStatistics -> Maybe Bool)
-> (TableStatistics -> Maybe Bool -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Bool
fullLoadReloaded :: Maybe Bool
$sel:fullLoadReloaded:TableStatistics' :: TableStatistics -> Maybe Bool
fullLoadReloaded} -> Maybe Bool
fullLoadReloaded) (\s :: TableStatistics
s@TableStatistics' {} Maybe Bool
a -> TableStatistics
s {$sel:fullLoadReloaded:TableStatistics' :: Maybe Bool
fullLoadReloaded = Maybe Bool
a} :: TableStatistics)

-- | The number of records that failed validation.
tableStatistics_validationFailedRecords :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_validationFailedRecords :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_validationFailedRecords = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
validationFailedRecords :: Maybe Integer
$sel:validationFailedRecords:TableStatistics' :: TableStatistics -> Maybe Integer
validationFailedRecords} -> Maybe Integer
validationFailedRecords) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:validationFailedRecords:TableStatistics' :: Maybe Integer
validationFailedRecords = Maybe Integer
a} :: TableStatistics)

-- | The number of records that couldn\'t be validated.
tableStatistics_validationSuspendedRecords :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_validationSuspendedRecords :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_validationSuspendedRecords = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
validationSuspendedRecords :: Maybe Integer
$sel:validationSuspendedRecords:TableStatistics' :: TableStatistics -> Maybe Integer
validationSuspendedRecords} -> Maybe Integer
validationSuspendedRecords) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:validationSuspendedRecords:TableStatistics' :: Maybe Integer
validationSuspendedRecords = Maybe Integer
a} :: TableStatistics)

-- | The schema name.
tableStatistics_schemaName :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Text)
tableStatistics_schemaName :: (Maybe Text -> f (Maybe Text))
-> TableStatistics -> f TableStatistics
tableStatistics_schemaName = (TableStatistics -> Maybe Text)
-> (TableStatistics -> Maybe Text -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Text
schemaName :: Maybe Text
$sel:schemaName:TableStatistics' :: TableStatistics -> Maybe Text
schemaName} -> Maybe Text
schemaName) (\s :: TableStatistics
s@TableStatistics' {} Maybe Text
a -> TableStatistics
s {$sel:schemaName:TableStatistics' :: Maybe Text
schemaName = Maybe Text
a} :: TableStatistics)

-- | Additional details about the state of validation.
tableStatistics_validationStateDetails :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Text)
tableStatistics_validationStateDetails :: (Maybe Text -> f (Maybe Text))
-> TableStatistics -> f TableStatistics
tableStatistics_validationStateDetails = (TableStatistics -> Maybe Text)
-> (TableStatistics -> Maybe Text -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Text
validationStateDetails :: Maybe Text
$sel:validationStateDetails:TableStatistics' :: TableStatistics -> Maybe Text
validationStateDetails} -> Maybe Text
validationStateDetails) (\s :: TableStatistics
s@TableStatistics' {} Maybe Text
a -> TableStatistics
s {$sel:validationStateDetails:TableStatistics' :: Maybe Text
validationStateDetails = Maybe Text
a} :: TableStatistics)

-- | The state of the tables described.
--
-- Valid states: Table does not exist | Before load | Full load | Table
-- completed | Table cancelled | Table error | Table all | Table updates |
-- Table is being reloaded
tableStatistics_tableState :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Text)
tableStatistics_tableState :: (Maybe Text -> f (Maybe Text))
-> TableStatistics -> f TableStatistics
tableStatistics_tableState = (TableStatistics -> Maybe Text)
-> (TableStatistics -> Maybe Text -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Text
tableState :: Maybe Text
$sel:tableState:TableStatistics' :: TableStatistics -> Maybe Text
tableState} -> Maybe Text
tableState) (\s :: TableStatistics
s@TableStatistics' {} Maybe Text
a -> TableStatistics
s {$sel:tableState:TableStatistics' :: Maybe Text
tableState = Maybe Text
a} :: TableStatistics)

-- | The number of rows that failed to load during the full load operation
-- (valid only for migrations where DynamoDB is the target).
tableStatistics_fullLoadErrorRows :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_fullLoadErrorRows :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadErrorRows = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
fullLoadErrorRows :: Maybe Integer
$sel:fullLoadErrorRows:TableStatistics' :: TableStatistics -> Maybe Integer
fullLoadErrorRows} -> Maybe Integer
fullLoadErrorRows) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:fullLoadErrorRows:TableStatistics' :: Maybe Integer
fullLoadErrorRows = Maybe Integer
a} :: TableStatistics)

-- | The data definition language (DDL) used to build and modify the
-- structure of your tables.
tableStatistics_ddls :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_ddls :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_ddls = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
ddls :: Maybe Integer
$sel:ddls:TableStatistics' :: TableStatistics -> Maybe Integer
ddls} -> Maybe Integer
ddls) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:ddls:TableStatistics' :: Maybe Integer
ddls = Maybe Integer
a} :: TableStatistics)

-- | The number of delete actions performed on a table.
tableStatistics_deletes :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_deletes :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_deletes = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
deletes :: Maybe Integer
$sel:deletes:TableStatistics' :: TableStatistics -> Maybe Integer
deletes} -> Maybe Integer
deletes) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:deletes:TableStatistics' :: Maybe Integer
deletes = Maybe Integer
a} :: TableStatistics)

-- | The number of update actions performed on a table.
tableStatistics_updates :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_updates :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_updates = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
updates :: Maybe Integer
$sel:updates:TableStatistics' :: TableStatistics -> Maybe Integer
updates} -> Maybe Integer
updates) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:updates:TableStatistics' :: Maybe Integer
updates = Maybe Integer
a} :: TableStatistics)

-- | The number of records that have yet to be validated.
tableStatistics_validationPendingRecords :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Integer)
tableStatistics_validationPendingRecords :: (Maybe Integer -> f (Maybe Integer))
-> TableStatistics -> f TableStatistics
tableStatistics_validationPendingRecords = (TableStatistics -> Maybe Integer)
-> (TableStatistics -> Maybe Integer -> TableStatistics)
-> Lens
     TableStatistics TableStatistics (Maybe Integer) (Maybe Integer)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Integer
validationPendingRecords :: Maybe Integer
$sel:validationPendingRecords:TableStatistics' :: TableStatistics -> Maybe Integer
validationPendingRecords} -> Maybe Integer
validationPendingRecords) (\s :: TableStatistics
s@TableStatistics' {} Maybe Integer
a -> TableStatistics
s {$sel:validationPendingRecords:TableStatistics' :: Maybe Integer
validationPendingRecords = Maybe Integer
a} :: TableStatistics)

-- | The time when the full load operation started.
tableStatistics_fullLoadStartTime :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.UTCTime)
tableStatistics_fullLoadStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics -> f TableStatistics
tableStatistics_fullLoadStartTime = (TableStatistics -> Maybe POSIX)
-> (TableStatistics -> Maybe POSIX -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe POSIX
fullLoadStartTime :: Maybe POSIX
$sel:fullLoadStartTime:TableStatistics' :: TableStatistics -> Maybe POSIX
fullLoadStartTime} -> Maybe POSIX
fullLoadStartTime) (\s :: TableStatistics
s@TableStatistics' {} Maybe POSIX
a -> TableStatistics
s {$sel:fullLoadStartTime:TableStatistics' :: Maybe POSIX
fullLoadStartTime = Maybe POSIX
a} :: TableStatistics) ((Maybe POSIX -> f (Maybe POSIX))
 -> TableStatistics -> f TableStatistics)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics
-> f TableStatistics
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The last time a table was updated.
tableStatistics_lastUpdateTime :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.UTCTime)
tableStatistics_lastUpdateTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics -> f TableStatistics
tableStatistics_lastUpdateTime = (TableStatistics -> Maybe POSIX)
-> (TableStatistics -> Maybe POSIX -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe POSIX
lastUpdateTime :: Maybe POSIX
$sel:lastUpdateTime:TableStatistics' :: TableStatistics -> Maybe POSIX
lastUpdateTime} -> Maybe POSIX
lastUpdateTime) (\s :: TableStatistics
s@TableStatistics' {} Maybe POSIX
a -> TableStatistics
s {$sel:lastUpdateTime:TableStatistics' :: Maybe POSIX
lastUpdateTime = Maybe POSIX
a} :: TableStatistics) ((Maybe POSIX -> f (Maybe POSIX))
 -> TableStatistics -> f TableStatistics)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> TableStatistics
-> f TableStatistics
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the table.
tableStatistics_tableName :: Lens.Lens' TableStatistics (Prelude.Maybe Prelude.Text)
tableStatistics_tableName :: (Maybe Text -> f (Maybe Text))
-> TableStatistics -> f TableStatistics
tableStatistics_tableName = (TableStatistics -> Maybe Text)
-> (TableStatistics -> Maybe Text -> TableStatistics)
-> Lens TableStatistics TableStatistics (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableStatistics' {Maybe Text
tableName :: Maybe Text
$sel:tableName:TableStatistics' :: TableStatistics -> Maybe Text
tableName} -> Maybe Text
tableName) (\s :: TableStatistics
s@TableStatistics' {} Maybe Text
a -> TableStatistics
s {$sel:tableName:TableStatistics' :: Maybe Text
tableName = Maybe Text
a} :: TableStatistics)

instance Core.FromJSON TableStatistics where
  parseJSON :: Value -> Parser TableStatistics
parseJSON =
    String
-> (Object -> Parser TableStatistics)
-> Value
-> Parser TableStatistics
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"TableStatistics"
      ( \Object
x ->
          Maybe Text
-> Maybe Integer
-> Maybe Integer
-> Maybe POSIX
-> Maybe Integer
-> Maybe Bool
-> Maybe Integer
-> Maybe Integer
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> TableStatistics
TableStatistics'
            (Maybe Text
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe POSIX
 -> Maybe Integer
 -> Maybe Bool
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Text
 -> TableStatistics)
-> Parser (Maybe Text)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ValidationState")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe POSIX
      -> Maybe Integer
      -> Maybe Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadRows")
            Parser
  (Maybe Integer
   -> Maybe POSIX
   -> Maybe Integer
   -> Maybe Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe POSIX
      -> Maybe Integer
      -> Maybe Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Inserts")
            Parser
  (Maybe POSIX
   -> Maybe Integer
   -> Maybe Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Integer
      -> Maybe Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadEndTime")
            Parser
  (Maybe Integer
   -> Maybe Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadCondtnlChkFailedRows")
            Parser
  (Maybe Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadReloaded")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ValidationFailedRecords")
            Parser
  (Maybe Integer
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ValidationSuspendedRecords")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SchemaName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ValidationStateDetails")
            Parser
  (Maybe Text
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Text)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TableState")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadErrorRows")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Ddls")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Deletes")
            Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe POSIX -> Maybe POSIX -> Maybe Text -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Updates")
            Parser
  (Maybe Integer
   -> Maybe POSIX -> Maybe POSIX -> Maybe Text -> TableStatistics)
-> Parser (Maybe Integer)
-> Parser
     (Maybe POSIX -> Maybe POSIX -> Maybe Text -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ValidationPendingRecords")
            Parser
  (Maybe POSIX -> Maybe POSIX -> Maybe Text -> TableStatistics)
-> Parser (Maybe POSIX)
-> Parser (Maybe POSIX -> Maybe Text -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FullLoadStartTime")
            Parser (Maybe POSIX -> Maybe Text -> TableStatistics)
-> Parser (Maybe POSIX) -> Parser (Maybe Text -> TableStatistics)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LastUpdateTime")
            Parser (Maybe Text -> TableStatistics)
-> Parser (Maybe Text) -> Parser TableStatistics
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TableName")
      )

instance Prelude.Hashable TableStatistics

instance Prelude.NFData TableStatistics