{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.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
data ExecutionRecord = ExecutionRecord'
{
ExecutionRecord -> Maybe POSIX
dataPullEndTime :: Prelude.Maybe Data.POSIX,
ExecutionRecord -> Maybe POSIX
dataPullStartTime :: Prelude.Maybe Data.POSIX,
ExecutionRecord -> Maybe Text
executionId :: Prelude.Maybe Prelude.Text,
ExecutionRecord -> Maybe ExecutionResult
executionResult :: Prelude.Maybe ExecutionResult,
ExecutionRecord -> Maybe ExecutionStatus
executionStatus :: Prelude.Maybe ExecutionStatus,
ExecutionRecord -> Maybe POSIX
lastUpdatedAt :: Prelude.Maybe Data.POSIX,
ExecutionRecord -> Maybe [MetadataCatalogDetail]
metadataCatalogDetails :: Prelude.Maybe [MetadataCatalogDetail],
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)
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
}
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
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
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)
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)
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)
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
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
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