{-# 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.Redshift.Types.TableRestoreStatus
-- 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.Redshift.Types.TableRestoreStatus where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Redshift.Internal
import Amazonka.Redshift.Types.TableRestoreStatusType

-- | Describes the status of a RestoreTableFromClusterSnapshot operation.
--
-- /See:/ 'newTableRestoreStatus' smart constructor.
data TableRestoreStatus = TableRestoreStatus'
  { -- | The identifier of the Amazon Redshift cluster that the table is being
    -- restored to.
    TableRestoreStatus -> Maybe Text
clusterIdentifier :: Prelude.Maybe Prelude.Text,
    -- | A description of the status of the table restore request. Status values
    -- include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@, @IN_PROGRESS@.
    TableRestoreStatus -> Maybe Text
message :: Prelude.Maybe Prelude.Text,
    -- | The name of the table to create as a result of the table restore
    -- request.
    TableRestoreStatus -> Maybe Text
newTableName' :: Prelude.Maybe Prelude.Text,
    -- | The amount of data restored to the new table so far, in megabytes (MB).
    TableRestoreStatus -> Maybe Integer
progressInMegaBytes :: Prelude.Maybe Prelude.Integer,
    -- | The time that the table restore request was made, in Universal
    -- Coordinated Time (UTC).
    TableRestoreStatus -> Maybe ISO8601
requestTime :: Prelude.Maybe Data.ISO8601,
    -- | The identifier of the snapshot that the table is being restored from.
    TableRestoreStatus -> Maybe Text
snapshotIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The name of the source database that contains the table being restored.
    TableRestoreStatus -> Maybe Text
sourceDatabaseName :: Prelude.Maybe Prelude.Text,
    -- | The name of the source schema that contains the table being restored.
    TableRestoreStatus -> Maybe Text
sourceSchemaName :: Prelude.Maybe Prelude.Text,
    -- | The name of the source table being restored.
    TableRestoreStatus -> Maybe Text
sourceTableName :: Prelude.Maybe Prelude.Text,
    -- | A value that describes the current state of the table restore request.
    --
    -- Valid Values: @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
    -- @IN_PROGRESS@
    TableRestoreStatus -> Maybe TableRestoreStatusType
status :: Prelude.Maybe TableRestoreStatusType,
    -- | The unique identifier for the table restore request.
    TableRestoreStatus -> Maybe Text
tableRestoreRequestId :: Prelude.Maybe Prelude.Text,
    -- | The name of the database to restore the table to.
    TableRestoreStatus -> Maybe Text
targetDatabaseName :: Prelude.Maybe Prelude.Text,
    -- | The name of the schema to restore the table to.
    TableRestoreStatus -> Maybe Text
targetSchemaName :: Prelude.Maybe Prelude.Text,
    -- | The total amount of data to restore to the new table, in megabytes (MB).
    TableRestoreStatus -> Maybe Integer
totalDataInMegaBytes :: Prelude.Maybe Prelude.Integer
  }
  deriving (TableRestoreStatus -> TableRestoreStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TableRestoreStatus -> TableRestoreStatus -> Bool
$c/= :: TableRestoreStatus -> TableRestoreStatus -> Bool
== :: TableRestoreStatus -> TableRestoreStatus -> Bool
$c== :: TableRestoreStatus -> TableRestoreStatus -> Bool
Prelude.Eq, ReadPrec [TableRestoreStatus]
ReadPrec TableRestoreStatus
Int -> ReadS TableRestoreStatus
ReadS [TableRestoreStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TableRestoreStatus]
$creadListPrec :: ReadPrec [TableRestoreStatus]
readPrec :: ReadPrec TableRestoreStatus
$creadPrec :: ReadPrec TableRestoreStatus
readList :: ReadS [TableRestoreStatus]
$creadList :: ReadS [TableRestoreStatus]
readsPrec :: Int -> ReadS TableRestoreStatus
$creadsPrec :: Int -> ReadS TableRestoreStatus
Prelude.Read, Int -> TableRestoreStatus -> ShowS
[TableRestoreStatus] -> ShowS
TableRestoreStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TableRestoreStatus] -> ShowS
$cshowList :: [TableRestoreStatus] -> ShowS
show :: TableRestoreStatus -> String
$cshow :: TableRestoreStatus -> String
showsPrec :: Int -> TableRestoreStatus -> ShowS
$cshowsPrec :: Int -> TableRestoreStatus -> ShowS
Prelude.Show, forall x. Rep TableRestoreStatus x -> TableRestoreStatus
forall x. TableRestoreStatus -> Rep TableRestoreStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TableRestoreStatus x -> TableRestoreStatus
$cfrom :: forall x. TableRestoreStatus -> Rep TableRestoreStatus x
Prelude.Generic)

-- |
-- Create a value of 'TableRestoreStatus' 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:
--
-- 'clusterIdentifier', 'tableRestoreStatus_clusterIdentifier' - The identifier of the Amazon Redshift cluster that the table is being
-- restored to.
--
-- 'message', 'tableRestoreStatus_message' - A description of the status of the table restore request. Status values
-- include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@, @IN_PROGRESS@.
--
-- 'newTableName'', 'tableRestoreStatus_newTableName' - The name of the table to create as a result of the table restore
-- request.
--
-- 'progressInMegaBytes', 'tableRestoreStatus_progressInMegaBytes' - The amount of data restored to the new table so far, in megabytes (MB).
--
-- 'requestTime', 'tableRestoreStatus_requestTime' - The time that the table restore request was made, in Universal
-- Coordinated Time (UTC).
--
-- 'snapshotIdentifier', 'tableRestoreStatus_snapshotIdentifier' - The identifier of the snapshot that the table is being restored from.
--
-- 'sourceDatabaseName', 'tableRestoreStatus_sourceDatabaseName' - The name of the source database that contains the table being restored.
--
-- 'sourceSchemaName', 'tableRestoreStatus_sourceSchemaName' - The name of the source schema that contains the table being restored.
--
-- 'sourceTableName', 'tableRestoreStatus_sourceTableName' - The name of the source table being restored.
--
-- 'status', 'tableRestoreStatus_status' - A value that describes the current state of the table restore request.
--
-- Valid Values: @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
-- @IN_PROGRESS@
--
-- 'tableRestoreRequestId', 'tableRestoreStatus_tableRestoreRequestId' - The unique identifier for the table restore request.
--
-- 'targetDatabaseName', 'tableRestoreStatus_targetDatabaseName' - The name of the database to restore the table to.
--
-- 'targetSchemaName', 'tableRestoreStatus_targetSchemaName' - The name of the schema to restore the table to.
--
-- 'totalDataInMegaBytes', 'tableRestoreStatus_totalDataInMegaBytes' - The total amount of data to restore to the new table, in megabytes (MB).
newTableRestoreStatus ::
  TableRestoreStatus
newTableRestoreStatus :: TableRestoreStatus
newTableRestoreStatus =
  TableRestoreStatus'
    { $sel:clusterIdentifier:TableRestoreStatus' :: Maybe Text
clusterIdentifier =
        forall a. Maybe a
Prelude.Nothing,
      $sel:message:TableRestoreStatus' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
      $sel:newTableName':TableRestoreStatus' :: Maybe Text
newTableName' = forall a. Maybe a
Prelude.Nothing,
      $sel:progressInMegaBytes:TableRestoreStatus' :: Maybe Integer
progressInMegaBytes = forall a. Maybe a
Prelude.Nothing,
      $sel:requestTime:TableRestoreStatus' :: Maybe ISO8601
requestTime = forall a. Maybe a
Prelude.Nothing,
      $sel:snapshotIdentifier:TableRestoreStatus' :: Maybe Text
snapshotIdentifier = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceDatabaseName:TableRestoreStatus' :: Maybe Text
sourceDatabaseName = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceSchemaName:TableRestoreStatus' :: Maybe Text
sourceSchemaName = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceTableName:TableRestoreStatus' :: Maybe Text
sourceTableName = forall a. Maybe a
Prelude.Nothing,
      $sel:status:TableRestoreStatus' :: Maybe TableRestoreStatusType
status = forall a. Maybe a
Prelude.Nothing,
      $sel:tableRestoreRequestId:TableRestoreStatus' :: Maybe Text
tableRestoreRequestId = forall a. Maybe a
Prelude.Nothing,
      $sel:targetDatabaseName:TableRestoreStatus' :: Maybe Text
targetDatabaseName = forall a. Maybe a
Prelude.Nothing,
      $sel:targetSchemaName:TableRestoreStatus' :: Maybe Text
targetSchemaName = forall a. Maybe a
Prelude.Nothing,
      $sel:totalDataInMegaBytes:TableRestoreStatus' :: Maybe Integer
totalDataInMegaBytes = forall a. Maybe a
Prelude.Nothing
    }

-- | The identifier of the Amazon Redshift cluster that the table is being
-- restored to.
tableRestoreStatus_clusterIdentifier :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_clusterIdentifier :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_clusterIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
clusterIdentifier :: Maybe Text
$sel:clusterIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
clusterIdentifier} -> Maybe Text
clusterIdentifier) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:clusterIdentifier:TableRestoreStatus' :: Maybe Text
clusterIdentifier = Maybe Text
a} :: TableRestoreStatus)

-- | A description of the status of the table restore request. Status values
-- include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@, @IN_PROGRESS@.
tableRestoreStatus_message :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_message :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_message = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
message :: Maybe Text
$sel:message:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
message} -> Maybe Text
message) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:message:TableRestoreStatus' :: Maybe Text
message = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the table to create as a result of the table restore
-- request.
tableRestoreStatus_newTableName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_newTableName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_newTableName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
newTableName' :: Maybe Text
$sel:newTableName':TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
newTableName'} -> Maybe Text
newTableName') (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:newTableName':TableRestoreStatus' :: Maybe Text
newTableName' = Maybe Text
a} :: TableRestoreStatus)

-- | The amount of data restored to the new table so far, in megabytes (MB).
tableRestoreStatus_progressInMegaBytes :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Integer)
tableRestoreStatus_progressInMegaBytes :: Lens' TableRestoreStatus (Maybe Integer)
tableRestoreStatus_progressInMegaBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Integer
progressInMegaBytes :: Maybe Integer
$sel:progressInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
progressInMegaBytes} -> Maybe Integer
progressInMegaBytes) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Integer
a -> TableRestoreStatus
s {$sel:progressInMegaBytes:TableRestoreStatus' :: Maybe Integer
progressInMegaBytes = Maybe Integer
a} :: TableRestoreStatus)

-- | The time that the table restore request was made, in Universal
-- Coordinated Time (UTC).
tableRestoreStatus_requestTime :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.UTCTime)
tableRestoreStatus_requestTime :: Lens' TableRestoreStatus (Maybe UTCTime)
tableRestoreStatus_requestTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe ISO8601
requestTime :: Maybe ISO8601
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe ISO8601
requestTime} -> Maybe ISO8601
requestTime) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe ISO8601
a -> TableRestoreStatus
s {$sel:requestTime:TableRestoreStatus' :: Maybe ISO8601
requestTime = Maybe ISO8601
a} :: TableRestoreStatus) 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

-- | The identifier of the snapshot that the table is being restored from.
tableRestoreStatus_snapshotIdentifier :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_snapshotIdentifier :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_snapshotIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
snapshotIdentifier :: Maybe Text
$sel:snapshotIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
snapshotIdentifier} -> Maybe Text
snapshotIdentifier) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:snapshotIdentifier:TableRestoreStatus' :: Maybe Text
snapshotIdentifier = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the source database that contains the table being restored.
tableRestoreStatus_sourceDatabaseName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_sourceDatabaseName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_sourceDatabaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
sourceDatabaseName :: Maybe Text
$sel:sourceDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
sourceDatabaseName} -> Maybe Text
sourceDatabaseName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:sourceDatabaseName:TableRestoreStatus' :: Maybe Text
sourceDatabaseName = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the source schema that contains the table being restored.
tableRestoreStatus_sourceSchemaName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_sourceSchemaName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_sourceSchemaName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
sourceSchemaName :: Maybe Text
$sel:sourceSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
sourceSchemaName} -> Maybe Text
sourceSchemaName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:sourceSchemaName:TableRestoreStatus' :: Maybe Text
sourceSchemaName = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the source table being restored.
tableRestoreStatus_sourceTableName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_sourceTableName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_sourceTableName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
sourceTableName :: Maybe Text
$sel:sourceTableName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
sourceTableName} -> Maybe Text
sourceTableName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:sourceTableName:TableRestoreStatus' :: Maybe Text
sourceTableName = Maybe Text
a} :: TableRestoreStatus)

-- | A value that describes the current state of the table restore request.
--
-- Valid Values: @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
-- @IN_PROGRESS@
tableRestoreStatus_status :: Lens.Lens' TableRestoreStatus (Prelude.Maybe TableRestoreStatusType)
tableRestoreStatus_status :: Lens' TableRestoreStatus (Maybe TableRestoreStatusType)
tableRestoreStatus_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe TableRestoreStatusType
status :: Maybe TableRestoreStatusType
$sel:status:TableRestoreStatus' :: TableRestoreStatus -> Maybe TableRestoreStatusType
status} -> Maybe TableRestoreStatusType
status) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe TableRestoreStatusType
a -> TableRestoreStatus
s {$sel:status:TableRestoreStatus' :: Maybe TableRestoreStatusType
status = Maybe TableRestoreStatusType
a} :: TableRestoreStatus)

-- | The unique identifier for the table restore request.
tableRestoreStatus_tableRestoreRequestId :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_tableRestoreRequestId :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_tableRestoreRequestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
tableRestoreRequestId :: Maybe Text
$sel:tableRestoreRequestId:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
tableRestoreRequestId} -> Maybe Text
tableRestoreRequestId) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:tableRestoreRequestId:TableRestoreStatus' :: Maybe Text
tableRestoreRequestId = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the database to restore the table to.
tableRestoreStatus_targetDatabaseName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_targetDatabaseName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_targetDatabaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
targetDatabaseName :: Maybe Text
$sel:targetDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
targetDatabaseName} -> Maybe Text
targetDatabaseName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:targetDatabaseName:TableRestoreStatus' :: Maybe Text
targetDatabaseName = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the schema to restore the table to.
tableRestoreStatus_targetSchemaName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_targetSchemaName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_targetSchemaName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
targetSchemaName :: Maybe Text
$sel:targetSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
targetSchemaName} -> Maybe Text
targetSchemaName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:targetSchemaName:TableRestoreStatus' :: Maybe Text
targetSchemaName = Maybe Text
a} :: TableRestoreStatus)

-- | The total amount of data to restore to the new table, in megabytes (MB).
tableRestoreStatus_totalDataInMegaBytes :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Integer)
tableRestoreStatus_totalDataInMegaBytes :: Lens' TableRestoreStatus (Maybe Integer)
tableRestoreStatus_totalDataInMegaBytes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Integer
totalDataInMegaBytes :: Maybe Integer
$sel:totalDataInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
totalDataInMegaBytes} -> Maybe Integer
totalDataInMegaBytes) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Integer
a -> TableRestoreStatus
s {$sel:totalDataInMegaBytes:TableRestoreStatus' :: Maybe Integer
totalDataInMegaBytes = Maybe Integer
a} :: TableRestoreStatus)

instance Data.FromXML TableRestoreStatus where
  parseXML :: [Node] -> Either String TableRestoreStatus
parseXML [Node]
x =
    Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe ISO8601
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe TableRestoreStatusType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> TableRestoreStatus
TableRestoreStatus'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ClusterIdentifier")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Message")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"NewTableName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ProgressInMegaBytes")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"RequestTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SnapshotIdentifier")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SourceDatabaseName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SourceSchemaName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"SourceTableName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Status")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TableRestoreRequestId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TargetDatabaseName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TargetSchemaName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TotalDataInMegaBytes")

instance Prelude.Hashable TableRestoreStatus where
  hashWithSalt :: Int -> TableRestoreStatus -> Int
hashWithSalt Int
_salt TableRestoreStatus' {Maybe Integer
Maybe Text
Maybe ISO8601
Maybe TableRestoreStatusType
totalDataInMegaBytes :: Maybe Integer
targetSchemaName :: Maybe Text
targetDatabaseName :: Maybe Text
tableRestoreRequestId :: Maybe Text
status :: Maybe TableRestoreStatusType
sourceTableName :: Maybe Text
sourceSchemaName :: Maybe Text
sourceDatabaseName :: Maybe Text
snapshotIdentifier :: Maybe Text
requestTime :: Maybe ISO8601
progressInMegaBytes :: Maybe Integer
newTableName' :: Maybe Text
message :: Maybe Text
clusterIdentifier :: Maybe Text
$sel:totalDataInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:targetSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:targetDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:tableRestoreRequestId:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:status:TableRestoreStatus' :: TableRestoreStatus -> Maybe TableRestoreStatusType
$sel:sourceTableName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:snapshotIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe ISO8601
$sel:progressInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:newTableName':TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:message:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:clusterIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clusterIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
message
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
newTableName'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
progressInMegaBytes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
requestTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
snapshotIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceDatabaseName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceSchemaName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceTableName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TableRestoreStatusType
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
tableRestoreRequestId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetDatabaseName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetSchemaName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalDataInMegaBytes

instance Prelude.NFData TableRestoreStatus where
  rnf :: TableRestoreStatus -> ()
rnf TableRestoreStatus' {Maybe Integer
Maybe Text
Maybe ISO8601
Maybe TableRestoreStatusType
totalDataInMegaBytes :: Maybe Integer
targetSchemaName :: Maybe Text
targetDatabaseName :: Maybe Text
tableRestoreRequestId :: Maybe Text
status :: Maybe TableRestoreStatusType
sourceTableName :: Maybe Text
sourceSchemaName :: Maybe Text
sourceDatabaseName :: Maybe Text
snapshotIdentifier :: Maybe Text
requestTime :: Maybe ISO8601
progressInMegaBytes :: Maybe Integer
newTableName' :: Maybe Text
message :: Maybe Text
clusterIdentifier :: Maybe Text
$sel:totalDataInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:targetSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:targetDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:tableRestoreRequestId:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:status:TableRestoreStatus' :: TableRestoreStatus -> Maybe TableRestoreStatusType
$sel:sourceTableName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:snapshotIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe ISO8601
$sel:progressInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:newTableName':TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:message:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:clusterIdentifier:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clusterIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
message
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
newTableName'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
progressInMegaBytes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
requestTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
snapshotIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceDatabaseName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceSchemaName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceTableName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TableRestoreStatusType
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
tableRestoreRequestId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetDatabaseName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetSchemaName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalDataInMegaBytes