{-# 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.AppFlow.Types.ExecutionRecord
-- 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.AppFlow.Types.ExecutionRecord where

import Amazonka.AppFlow.Types.ExecutionResult
import Amazonka.AppFlow.Types.ExecutionStatus
import Amazonka.AppFlow.Types.MetadataCatalogDetail
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

-- | Specifies information about the past flow run instances for a given
-- flow.
--
-- /See:/ 'newExecutionRecord' smart constructor.
data ExecutionRecord = ExecutionRecord'
  { -- | The timestamp that indicates the last new or updated record to be
    -- transferred in the flow run.
    ExecutionRecord -> Maybe POSIX
dataPullEndTime :: Prelude.Maybe Data.POSIX,
    -- | The timestamp that determines the first new or updated record to be
    -- transferred in the flow run.
    ExecutionRecord -> Maybe POSIX
dataPullStartTime :: Prelude.Maybe Data.POSIX,
    -- | Specifies the identifier of the given flow run.
    ExecutionRecord -> Maybe Text
executionId :: Prelude.Maybe Prelude.Text,
    -- | Describes the result of the given flow run.
    ExecutionRecord -> Maybe ExecutionResult
executionResult :: Prelude.Maybe ExecutionResult,
    -- | Specifies the flow run status and whether it is in progress, has
    -- completed successfully, or has failed.
    ExecutionRecord -> Maybe ExecutionStatus
executionStatus :: Prelude.Maybe ExecutionStatus,
    -- | Specifies the time of the most recent update.
    ExecutionRecord -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Data.POSIX,
    -- | Describes the metadata catalog, metadata table, and data partitions that
    -- Amazon AppFlow used for the associated flow run.
    ExecutionRecord -> Maybe [MetadataCatalogDetail]
metadataCatalogDetails :: Prelude.Maybe [MetadataCatalogDetail],
    -- | Specifies the start time of the flow run.
    ExecutionRecord -> Maybe POSIX
startedAt :: Prelude.Maybe Data.POSIX
  }
  deriving (ExecutionRecord -> ExecutionRecord -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExecutionRecord -> ExecutionRecord -> Bool
$c/= :: ExecutionRecord -> ExecutionRecord -> Bool
== :: ExecutionRecord -> ExecutionRecord -> Bool
$c== :: ExecutionRecord -> ExecutionRecord -> Bool
Prelude.Eq, ReadPrec [ExecutionRecord]
ReadPrec ExecutionRecord
Int -> ReadS ExecutionRecord
ReadS [ExecutionRecord]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ExecutionRecord]
$creadListPrec :: ReadPrec [ExecutionRecord]
readPrec :: ReadPrec ExecutionRecord
$creadPrec :: ReadPrec ExecutionRecord
readList :: ReadS [ExecutionRecord]
$creadList :: ReadS [ExecutionRecord]
readsPrec :: Int -> ReadS ExecutionRecord
$creadsPrec :: Int -> ReadS ExecutionRecord
Prelude.Read, Int -> ExecutionRecord -> ShowS
[ExecutionRecord] -> ShowS
ExecutionRecord -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExecutionRecord] -> ShowS
$cshowList :: [ExecutionRecord] -> ShowS
show :: ExecutionRecord -> String
$cshow :: ExecutionRecord -> String
showsPrec :: Int -> ExecutionRecord -> ShowS
$cshowsPrec :: Int -> ExecutionRecord -> ShowS
Prelude.Show, forall x. Rep ExecutionRecord x -> ExecutionRecord
forall x. ExecutionRecord -> Rep ExecutionRecord x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ExecutionRecord x -> ExecutionRecord
$cfrom :: forall x. ExecutionRecord -> Rep ExecutionRecord x
Prelude.Generic)

-- |
-- Create a value of 'ExecutionRecord' 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:
--
-- 'dataPullEndTime', 'executionRecord_dataPullEndTime' - The timestamp that indicates the last new or updated record to be
-- transferred in the flow run.
--
-- 'dataPullStartTime', 'executionRecord_dataPullStartTime' - The timestamp that determines the first new or updated record to be
-- transferred in the flow run.
--
-- 'executionId', 'executionRecord_executionId' - Specifies the identifier of the given flow run.
--
-- 'executionResult', 'executionRecord_executionResult' - Describes the result of the given flow run.
--
-- 'executionStatus', 'executionRecord_executionStatus' - Specifies the flow run status and whether it is in progress, has
-- completed successfully, or has failed.
--
-- 'lastUpdatedAt', 'executionRecord_lastUpdatedAt' - Specifies the time of the most recent update.
--
-- 'metadataCatalogDetails', 'executionRecord_metadataCatalogDetails' - Describes the metadata catalog, metadata table, and data partitions that
-- Amazon AppFlow used for the associated flow run.
--
-- 'startedAt', 'executionRecord_startedAt' - Specifies the start time of the flow run.
newExecutionRecord ::
  ExecutionRecord
newExecutionRecord :: ExecutionRecord
newExecutionRecord =
  ExecutionRecord'
    { $sel:dataPullEndTime:ExecutionRecord' :: Maybe POSIX
dataPullEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:dataPullStartTime:ExecutionRecord' :: Maybe POSIX
dataPullStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:executionId:ExecutionRecord' :: Maybe Text
executionId = forall a. Maybe a
Prelude.Nothing,
      $sel:executionResult:ExecutionRecord' :: Maybe ExecutionResult
executionResult = forall a. Maybe a
Prelude.Nothing,
      $sel:executionStatus:ExecutionRecord' :: Maybe ExecutionStatus
executionStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedAt:ExecutionRecord' :: Maybe POSIX
lastUpdatedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:metadataCatalogDetails:ExecutionRecord' :: Maybe [MetadataCatalogDetail]
metadataCatalogDetails = forall a. Maybe a
Prelude.Nothing,
      $sel:startedAt:ExecutionRecord' :: Maybe POSIX
startedAt = forall a. Maybe a
Prelude.Nothing
    }

-- | The timestamp that indicates the last new or updated record to be
-- transferred in the flow run.
executionRecord_dataPullEndTime :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)
executionRecord_dataPullEndTime :: Lens' ExecutionRecord (Maybe UTCTime)
executionRecord_dataPullEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe POSIX
dataPullEndTime :: Maybe POSIX
$sel:dataPullEndTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
dataPullEndTime} -> Maybe POSIX
dataPullEndTime) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe POSIX
a -> ExecutionRecord
s {$sel:dataPullEndTime:ExecutionRecord' :: Maybe POSIX
dataPullEndTime = Maybe POSIX
a} :: ExecutionRecord) 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 timestamp that determines the first new or updated record to be
-- transferred in the flow run.
executionRecord_dataPullStartTime :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)
executionRecord_dataPullStartTime :: Lens' ExecutionRecord (Maybe UTCTime)
executionRecord_dataPullStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe POSIX
dataPullStartTime :: Maybe POSIX
$sel:dataPullStartTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
dataPullStartTime} -> Maybe POSIX
dataPullStartTime) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe POSIX
a -> ExecutionRecord
s {$sel:dataPullStartTime:ExecutionRecord' :: Maybe POSIX
dataPullStartTime = Maybe POSIX
a} :: ExecutionRecord) 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

-- | Specifies the identifier of the given flow run.
executionRecord_executionId :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.Text)
executionRecord_executionId :: Lens' ExecutionRecord (Maybe Text)
executionRecord_executionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe Text
executionId :: Maybe Text
$sel:executionId:ExecutionRecord' :: ExecutionRecord -> Maybe Text
executionId} -> Maybe Text
executionId) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe Text
a -> ExecutionRecord
s {$sel:executionId:ExecutionRecord' :: Maybe Text
executionId = Maybe Text
a} :: ExecutionRecord)

-- | Describes the result of the given flow run.
executionRecord_executionResult :: Lens.Lens' ExecutionRecord (Prelude.Maybe ExecutionResult)
executionRecord_executionResult :: Lens' ExecutionRecord (Maybe ExecutionResult)
executionRecord_executionResult = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe ExecutionResult
executionResult :: Maybe ExecutionResult
$sel:executionResult:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionResult
executionResult} -> Maybe ExecutionResult
executionResult) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe ExecutionResult
a -> ExecutionRecord
s {$sel:executionResult:ExecutionRecord' :: Maybe ExecutionResult
executionResult = Maybe ExecutionResult
a} :: ExecutionRecord)

-- | Specifies the flow run status and whether it is in progress, has
-- completed successfully, or has failed.
executionRecord_executionStatus :: Lens.Lens' ExecutionRecord (Prelude.Maybe ExecutionStatus)
executionRecord_executionStatus :: Lens' ExecutionRecord (Maybe ExecutionStatus)
executionRecord_executionStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe ExecutionStatus
executionStatus :: Maybe ExecutionStatus
$sel:executionStatus:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionStatus
executionStatus} -> Maybe ExecutionStatus
executionStatus) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe ExecutionStatus
a -> ExecutionRecord
s {$sel:executionStatus:ExecutionRecord' :: Maybe ExecutionStatus
executionStatus = Maybe ExecutionStatus
a} :: ExecutionRecord)

-- | Specifies the time of the most recent update.
executionRecord_lastUpdatedAt :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)
executionRecord_lastUpdatedAt :: Lens' ExecutionRecord (Maybe UTCTime)
executionRecord_lastUpdatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe POSIX
lastUpdatedAt :: Maybe POSIX
$sel:lastUpdatedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
lastUpdatedAt} -> Maybe POSIX
lastUpdatedAt) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe POSIX
a -> ExecutionRecord
s {$sel:lastUpdatedAt:ExecutionRecord' :: Maybe POSIX
lastUpdatedAt = Maybe POSIX
a} :: ExecutionRecord) 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

-- | Describes the metadata catalog, metadata table, and data partitions that
-- Amazon AppFlow used for the associated flow run.
executionRecord_metadataCatalogDetails :: Lens.Lens' ExecutionRecord (Prelude.Maybe [MetadataCatalogDetail])
executionRecord_metadataCatalogDetails :: Lens' ExecutionRecord (Maybe [MetadataCatalogDetail])
executionRecord_metadataCatalogDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe [MetadataCatalogDetail]
metadataCatalogDetails :: Maybe [MetadataCatalogDetail]
$sel:metadataCatalogDetails:ExecutionRecord' :: ExecutionRecord -> Maybe [MetadataCatalogDetail]
metadataCatalogDetails} -> Maybe [MetadataCatalogDetail]
metadataCatalogDetails) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe [MetadataCatalogDetail]
a -> ExecutionRecord
s {$sel:metadataCatalogDetails:ExecutionRecord' :: Maybe [MetadataCatalogDetail]
metadataCatalogDetails = Maybe [MetadataCatalogDetail]
a} :: ExecutionRecord) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Specifies the start time of the flow run.
executionRecord_startedAt :: Lens.Lens' ExecutionRecord (Prelude.Maybe Prelude.UTCTime)
executionRecord_startedAt :: Lens' ExecutionRecord (Maybe UTCTime)
executionRecord_startedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ExecutionRecord' {Maybe POSIX
startedAt :: Maybe POSIX
$sel:startedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
startedAt} -> Maybe POSIX
startedAt) (\s :: ExecutionRecord
s@ExecutionRecord' {} Maybe POSIX
a -> ExecutionRecord
s {$sel:startedAt:ExecutionRecord' :: Maybe POSIX
startedAt = Maybe POSIX
a} :: ExecutionRecord) 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

instance Data.FromJSON ExecutionRecord where
  parseJSON :: Value -> Parser ExecutionRecord
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ExecutionRecord"
      ( \Object
x ->
          Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe ExecutionResult
-> Maybe ExecutionStatus
-> Maybe POSIX
-> Maybe [MetadataCatalogDetail]
-> Maybe POSIX
-> ExecutionRecord
ExecutionRecord'
            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
"dataPullEndTime")
            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
"dataPullStartTime")
            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
"executionId")
            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
"executionResult")
            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
"executionStatus")
            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
"lastUpdatedAt")
            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
"metadataCatalogDetails"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            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
"startedAt")
      )

instance Prelude.Hashable ExecutionRecord where
  hashWithSalt :: Int -> ExecutionRecord -> Int
hashWithSalt Int
_salt ExecutionRecord' {Maybe [MetadataCatalogDetail]
Maybe Text
Maybe POSIX
Maybe ExecutionResult
Maybe ExecutionStatus
startedAt :: Maybe POSIX
metadataCatalogDetails :: Maybe [MetadataCatalogDetail]
lastUpdatedAt :: Maybe POSIX
executionStatus :: Maybe ExecutionStatus
executionResult :: Maybe ExecutionResult
executionId :: Maybe Text
dataPullStartTime :: Maybe POSIX
dataPullEndTime :: Maybe POSIX
$sel:startedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:metadataCatalogDetails:ExecutionRecord' :: ExecutionRecord -> Maybe [MetadataCatalogDetail]
$sel:lastUpdatedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:executionStatus:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionStatus
$sel:executionResult:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionResult
$sel:executionId:ExecutionRecord' :: ExecutionRecord -> Maybe Text
$sel:dataPullStartTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:dataPullEndTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
dataPullEndTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
dataPullStartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExecutionResult
executionResult
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ExecutionStatus
executionStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdatedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [MetadataCatalogDetail]
metadataCatalogDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
startedAt

instance Prelude.NFData ExecutionRecord where
  rnf :: ExecutionRecord -> ()
rnf ExecutionRecord' {Maybe [MetadataCatalogDetail]
Maybe Text
Maybe POSIX
Maybe ExecutionResult
Maybe ExecutionStatus
startedAt :: Maybe POSIX
metadataCatalogDetails :: Maybe [MetadataCatalogDetail]
lastUpdatedAt :: Maybe POSIX
executionStatus :: Maybe ExecutionStatus
executionResult :: Maybe ExecutionResult
executionId :: Maybe Text
dataPullStartTime :: Maybe POSIX
dataPullEndTime :: Maybe POSIX
$sel:startedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:metadataCatalogDetails:ExecutionRecord' :: ExecutionRecord -> Maybe [MetadataCatalogDetail]
$sel:lastUpdatedAt:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:executionStatus:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionStatus
$sel:executionResult:ExecutionRecord' :: ExecutionRecord -> Maybe ExecutionResult
$sel:executionId:ExecutionRecord' :: ExecutionRecord -> Maybe Text
$sel:dataPullStartTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
$sel:dataPullEndTime:ExecutionRecord' :: ExecutionRecord -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
dataPullEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
dataPullStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExecutionResult
executionResult
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ExecutionStatus
executionStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MetadataCatalogDetail]
metadataCatalogDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startedAt