{-# 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.RedshiftServerLess.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.RedshiftServerLess.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

-- | Contains information about a table restore request.
--
-- /See:/ 'newTableRestoreStatus' smart constructor.
data TableRestoreStatus = TableRestoreStatus'
  { -- | 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 namespace of the table being restored from.
    TableRestoreStatus -> Maybe Text
namespaceName :: Prelude.Maybe Prelude.Text,
    -- | The name of the table to create from the restore operation.
    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 POSIX
requestTime :: Prelude.Maybe Data.POSIX,
    -- | The name of the snapshot being restored from.
    TableRestoreStatus -> Maybe Text
snapshotName :: Prelude.Maybe Prelude.Text,
    -- | The name of the source database being restored from.
    TableRestoreStatus -> Maybe Text
sourceDatabaseName :: Prelude.Maybe Prelude.Text,
    -- | The name of the source schema being restored from.
    TableRestoreStatus -> Maybe Text
sourceSchemaName :: Prelude.Maybe Prelude.Text,
    -- | The name of the source table being restored from.
    TableRestoreStatus -> Maybe Text
sourceTableName :: Prelude.Maybe Prelude.Text,
    -- | A value that describes the current state of the table restore request.
    -- Possible values include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
    -- @IN_PROGRESS@.
    TableRestoreStatus -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The ID of the RestoreTableFromSnapshot request.
    TableRestoreStatus -> Maybe Text
tableRestoreRequestId :: Prelude.Maybe Prelude.Text,
    -- | The name of the database to restore to.
    TableRestoreStatus -> Maybe Text
targetDatabaseName :: Prelude.Maybe Prelude.Text,
    -- | The name of the schema to restore 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,
    -- | The name of the workgroup being restored from.
    TableRestoreStatus -> Maybe Text
workgroupName :: Prelude.Maybe Prelude.Text
  }
  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:
--
-- 'message', 'tableRestoreStatus_message' - A description of the status of the table restore request. Status values
-- include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@, @IN_PROGRESS@.
--
-- 'namespaceName', 'tableRestoreStatus_namespaceName' - The namespace of the table being restored from.
--
-- 'newTableName'', 'tableRestoreStatus_newTableName' - The name of the table to create from the restore operation.
--
-- '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).
--
-- 'snapshotName', 'tableRestoreStatus_snapshotName' - The name of the snapshot being restored from.
--
-- 'sourceDatabaseName', 'tableRestoreStatus_sourceDatabaseName' - The name of the source database being restored from.
--
-- 'sourceSchemaName', 'tableRestoreStatus_sourceSchemaName' - The name of the source schema being restored from.
--
-- 'sourceTableName', 'tableRestoreStatus_sourceTableName' - The name of the source table being restored from.
--
-- 'status', 'tableRestoreStatus_status' - A value that describes the current state of the table restore request.
-- Possible values include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
-- @IN_PROGRESS@.
--
-- 'tableRestoreRequestId', 'tableRestoreStatus_tableRestoreRequestId' - The ID of the RestoreTableFromSnapshot request.
--
-- 'targetDatabaseName', 'tableRestoreStatus_targetDatabaseName' - The name of the database to restore to.
--
-- 'targetSchemaName', 'tableRestoreStatus_targetSchemaName' - The name of the schema to restore to.
--
-- 'totalDataInMegaBytes', 'tableRestoreStatus_totalDataInMegaBytes' - The total amount of data to restore to the new table, in megabytes (MB).
--
-- 'workgroupName', 'tableRestoreStatus_workgroupName' - The name of the workgroup being restored from.
newTableRestoreStatus ::
  TableRestoreStatus
newTableRestoreStatus :: TableRestoreStatus
newTableRestoreStatus =
  TableRestoreStatus'
    { $sel:message:TableRestoreStatus' :: Maybe Text
message = forall a. Maybe a
Prelude.Nothing,
      $sel:namespaceName:TableRestoreStatus' :: Maybe Text
namespaceName = 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 POSIX
requestTime = forall a. Maybe a
Prelude.Nothing,
      $sel:snapshotName:TableRestoreStatus' :: Maybe Text
snapshotName = 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 Text
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,
      $sel:workgroupName:TableRestoreStatus' :: Maybe Text
workgroupName = forall a. Maybe a
Prelude.Nothing
    }

-- | 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 namespace of the table being restored from.
tableRestoreStatus_namespaceName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_namespaceName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_namespaceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
namespaceName :: Maybe Text
$sel:namespaceName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
namespaceName} -> Maybe Text
namespaceName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:namespaceName:TableRestoreStatus' :: Maybe Text
namespaceName = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the table to create from the restore operation.
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 POSIX
requestTime :: Maybe POSIX
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe POSIX
requestTime} -> Maybe POSIX
requestTime) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe POSIX
a -> TableRestoreStatus
s {$sel:requestTime:TableRestoreStatus' :: Maybe POSIX
requestTime = Maybe POSIX
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 name of the snapshot being restored from.
tableRestoreStatus_snapshotName :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_snapshotName :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_snapshotName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
snapshotName :: Maybe Text
$sel:snapshotName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
snapshotName} -> Maybe Text
snapshotName) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:snapshotName:TableRestoreStatus' :: Maybe Text
snapshotName = Maybe Text
a} :: TableRestoreStatus)

-- | The name of the source database being restored from.
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 being restored from.
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 from.
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.
-- Possible values include @SUCCEEDED@, @FAILED@, @CANCELED@, @PENDING@,
-- @IN_PROGRESS@.
tableRestoreStatus_status :: Lens.Lens' TableRestoreStatus (Prelude.Maybe Prelude.Text)
tableRestoreStatus_status :: Lens' TableRestoreStatus (Maybe Text)
tableRestoreStatus_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TableRestoreStatus' {Maybe Text
status :: Maybe Text
$sel:status:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
status} -> Maybe Text
status) (\s :: TableRestoreStatus
s@TableRestoreStatus' {} Maybe Text
a -> TableRestoreStatus
s {$sel:status:TableRestoreStatus' :: Maybe Text
status = Maybe Text
a} :: TableRestoreStatus)

-- | The ID of the RestoreTableFromSnapshot 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 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 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)

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

instance Data.FromJSON TableRestoreStatus where
  parseJSON :: Value -> Parser TableRestoreStatus
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"TableRestoreStatus"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Integer
-> Maybe Text
-> TableRestoreStatus
TableRestoreStatus'
            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
"message")
            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
"namespaceName")
            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
"newTableName")
            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
"progressInMegaBytes")
            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
"requestTime")
            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
"snapshotName")
            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
"sourceDatabaseName")
            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
"sourceSchemaName")
            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
"sourceTableName")
            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
"status")
            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
"tableRestoreRequestId")
            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
"targetDatabaseName")
            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
"targetSchemaName")
            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
"totalDataInMegaBytes")
            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
"workgroupName")
      )

instance Prelude.Hashable TableRestoreStatus where
  hashWithSalt :: Int -> TableRestoreStatus -> Int
hashWithSalt Int
_salt TableRestoreStatus' {Maybe Integer
Maybe Text
Maybe POSIX
workgroupName :: Maybe Text
totalDataInMegaBytes :: Maybe Integer
targetSchemaName :: Maybe Text
targetDatabaseName :: Maybe Text
tableRestoreRequestId :: Maybe Text
status :: Maybe Text
sourceTableName :: Maybe Text
sourceSchemaName :: Maybe Text
sourceDatabaseName :: Maybe Text
snapshotName :: Maybe Text
requestTime :: Maybe POSIX
progressInMegaBytes :: Maybe Integer
newTableName' :: Maybe Text
namespaceName :: Maybe Text
message :: Maybe Text
$sel:workgroupName:TableRestoreStatus' :: TableRestoreStatus -> 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 Text
$sel:sourceTableName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:snapshotName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe POSIX
$sel:progressInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:newTableName':TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:namespaceName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:message:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
message
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
namespaceName
      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 POSIX
requestTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
snapshotName
      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 Text
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
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
workgroupName

instance Prelude.NFData TableRestoreStatus where
  rnf :: TableRestoreStatus -> ()
rnf TableRestoreStatus' {Maybe Integer
Maybe Text
Maybe POSIX
workgroupName :: Maybe Text
totalDataInMegaBytes :: Maybe Integer
targetSchemaName :: Maybe Text
targetDatabaseName :: Maybe Text
tableRestoreRequestId :: Maybe Text
status :: Maybe Text
sourceTableName :: Maybe Text
sourceSchemaName :: Maybe Text
sourceDatabaseName :: Maybe Text
snapshotName :: Maybe Text
requestTime :: Maybe POSIX
progressInMegaBytes :: Maybe Integer
newTableName' :: Maybe Text
namespaceName :: Maybe Text
message :: Maybe Text
$sel:workgroupName:TableRestoreStatus' :: TableRestoreStatus -> 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 Text
$sel:sourceTableName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceSchemaName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:sourceDatabaseName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:snapshotName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:requestTime:TableRestoreStatus' :: TableRestoreStatus -> Maybe POSIX
$sel:progressInMegaBytes:TableRestoreStatus' :: TableRestoreStatus -> Maybe Integer
$sel:newTableName':TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:namespaceName:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
$sel:message:TableRestoreStatus' :: TableRestoreStatus -> Maybe Text
..} =
    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
namespaceName
      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 POSIX
requestTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
snapshotName
      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 Text
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
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
workgroupName