{-# 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.SageMaker.Types.PipelineExecution
-- 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.SageMaker.Types.PipelineExecution 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.SageMaker.Types.ParallelismConfiguration
import Amazonka.SageMaker.Types.Parameter
import Amazonka.SageMaker.Types.PipelineExecutionStatus
import Amazonka.SageMaker.Types.PipelineExperimentConfig
import Amazonka.SageMaker.Types.UserContext

-- | An execution of a pipeline.
--
-- /See:/ 'newPipelineExecution' smart constructor.
data PipelineExecution = PipelineExecution'
  { PipelineExecution -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | The creation time of the pipeline execution.
    PipelineExecution -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    -- | If the execution failed, a message describing why.
    PipelineExecution -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    PipelineExecution -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | The time that the pipeline execution was last modified.
    PipelineExecution -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The parallelism configuration applied to the pipeline execution.
    PipelineExecution -> Maybe ParallelismConfiguration
parallelismConfiguration :: Prelude.Maybe ParallelismConfiguration,
    -- | The Amazon Resource Name (ARN) of the pipeline that was executed.
    PipelineExecution -> Maybe Text
pipelineArn :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the pipeline execution.
    PipelineExecution -> Maybe Text
pipelineExecutionArn :: Prelude.Maybe Prelude.Text,
    -- | The description of the pipeline execution.
    PipelineExecution -> Maybe Text
pipelineExecutionDescription :: Prelude.Maybe Prelude.Text,
    -- | The display name of the pipeline execution.
    PipelineExecution -> Maybe Text
pipelineExecutionDisplayName :: Prelude.Maybe Prelude.Text,
    -- | The status of the pipeline status.
    PipelineExecution -> Maybe PipelineExecutionStatus
pipelineExecutionStatus :: Prelude.Maybe PipelineExecutionStatus,
    PipelineExecution -> Maybe PipelineExperimentConfig
pipelineExperimentConfig :: Prelude.Maybe PipelineExperimentConfig,
    -- | Contains a list of pipeline parameters. This list can be empty.
    PipelineExecution -> Maybe [Parameter]
pipelineParameters :: Prelude.Maybe [Parameter]
  }
  deriving (PipelineExecution -> PipelineExecution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineExecution -> PipelineExecution -> Bool
$c/= :: PipelineExecution -> PipelineExecution -> Bool
== :: PipelineExecution -> PipelineExecution -> Bool
$c== :: PipelineExecution -> PipelineExecution -> Bool
Prelude.Eq, ReadPrec [PipelineExecution]
ReadPrec PipelineExecution
Int -> ReadS PipelineExecution
ReadS [PipelineExecution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PipelineExecution]
$creadListPrec :: ReadPrec [PipelineExecution]
readPrec :: ReadPrec PipelineExecution
$creadPrec :: ReadPrec PipelineExecution
readList :: ReadS [PipelineExecution]
$creadList :: ReadS [PipelineExecution]
readsPrec :: Int -> ReadS PipelineExecution
$creadsPrec :: Int -> ReadS PipelineExecution
Prelude.Read, Int -> PipelineExecution -> ShowS
[PipelineExecution] -> ShowS
PipelineExecution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PipelineExecution] -> ShowS
$cshowList :: [PipelineExecution] -> ShowS
show :: PipelineExecution -> String
$cshow :: PipelineExecution -> String
showsPrec :: Int -> PipelineExecution -> ShowS
$cshowsPrec :: Int -> PipelineExecution -> ShowS
Prelude.Show, forall x. Rep PipelineExecution x -> PipelineExecution
forall x. PipelineExecution -> Rep PipelineExecution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PipelineExecution x -> PipelineExecution
$cfrom :: forall x. PipelineExecution -> Rep PipelineExecution x
Prelude.Generic)

-- |
-- Create a value of 'PipelineExecution' 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:
--
-- 'createdBy', 'pipelineExecution_createdBy' - Undocumented member.
--
-- 'creationTime', 'pipelineExecution_creationTime' - The creation time of the pipeline execution.
--
-- 'failureReason', 'pipelineExecution_failureReason' - If the execution failed, a message describing why.
--
-- 'lastModifiedBy', 'pipelineExecution_lastModifiedBy' - Undocumented member.
--
-- 'lastModifiedTime', 'pipelineExecution_lastModifiedTime' - The time that the pipeline execution was last modified.
--
-- 'parallelismConfiguration', 'pipelineExecution_parallelismConfiguration' - The parallelism configuration applied to the pipeline execution.
--
-- 'pipelineArn', 'pipelineExecution_pipelineArn' - The Amazon Resource Name (ARN) of the pipeline that was executed.
--
-- 'pipelineExecutionArn', 'pipelineExecution_pipelineExecutionArn' - The Amazon Resource Name (ARN) of the pipeline execution.
--
-- 'pipelineExecutionDescription', 'pipelineExecution_pipelineExecutionDescription' - The description of the pipeline execution.
--
-- 'pipelineExecutionDisplayName', 'pipelineExecution_pipelineExecutionDisplayName' - The display name of the pipeline execution.
--
-- 'pipelineExecutionStatus', 'pipelineExecution_pipelineExecutionStatus' - The status of the pipeline status.
--
-- 'pipelineExperimentConfig', 'pipelineExecution_pipelineExperimentConfig' - Undocumented member.
--
-- 'pipelineParameters', 'pipelineExecution_pipelineParameters' - Contains a list of pipeline parameters. This list can be empty.
newPipelineExecution ::
  PipelineExecution
newPipelineExecution :: PipelineExecution
newPipelineExecution =
  PipelineExecution'
    { $sel:createdBy:PipelineExecution' :: Maybe UserContext
createdBy = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:PipelineExecution' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:PipelineExecution' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:PipelineExecution' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:PipelineExecution' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:parallelismConfiguration:PipelineExecution' :: Maybe ParallelismConfiguration
parallelismConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineArn:PipelineExecution' :: Maybe Text
pipelineArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionArn:PipelineExecution' :: Maybe Text
pipelineExecutionArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionDescription:PipelineExecution' :: Maybe Text
pipelineExecutionDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionDisplayName:PipelineExecution' :: Maybe Text
pipelineExecutionDisplayName = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionStatus:PipelineExecution' :: Maybe PipelineExecutionStatus
pipelineExecutionStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExperimentConfig:PipelineExecution' :: Maybe PipelineExperimentConfig
pipelineExperimentConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineParameters:PipelineExecution' :: Maybe [Parameter]
pipelineParameters = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
pipelineExecution_createdBy :: Lens.Lens' PipelineExecution (Prelude.Maybe UserContext)
pipelineExecution_createdBy :: Lens' PipelineExecution (Maybe UserContext)
pipelineExecution_createdBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe UserContext
createdBy :: Maybe UserContext
$sel:createdBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
createdBy} -> Maybe UserContext
createdBy) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe UserContext
a -> PipelineExecution
s {$sel:createdBy:PipelineExecution' :: Maybe UserContext
createdBy = Maybe UserContext
a} :: PipelineExecution)

-- | The creation time of the pipeline execution.
pipelineExecution_creationTime :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.UTCTime)
pipelineExecution_creationTime :: Lens' PipelineExecution (Maybe UTCTime)
pipelineExecution_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe POSIX
a -> PipelineExecution
s {$sel:creationTime:PipelineExecution' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: PipelineExecution) 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

-- | If the execution failed, a message describing why.
pipelineExecution_failureReason :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.Text)
pipelineExecution_failureReason :: Lens' PipelineExecution (Maybe Text)
pipelineExecution_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:PipelineExecution' :: PipelineExecution -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe Text
a -> PipelineExecution
s {$sel:failureReason:PipelineExecution' :: Maybe Text
failureReason = Maybe Text
a} :: PipelineExecution)

-- | Undocumented member.
pipelineExecution_lastModifiedBy :: Lens.Lens' PipelineExecution (Prelude.Maybe UserContext)
pipelineExecution_lastModifiedBy :: Lens' PipelineExecution (Maybe UserContext)
pipelineExecution_lastModifiedBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe UserContext
lastModifiedBy :: Maybe UserContext
$sel:lastModifiedBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
lastModifiedBy} -> Maybe UserContext
lastModifiedBy) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe UserContext
a -> PipelineExecution
s {$sel:lastModifiedBy:PipelineExecution' :: Maybe UserContext
lastModifiedBy = Maybe UserContext
a} :: PipelineExecution)

-- | The time that the pipeline execution was last modified.
pipelineExecution_lastModifiedTime :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.UTCTime)
pipelineExecution_lastModifiedTime :: Lens' PipelineExecution (Maybe UTCTime)
pipelineExecution_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe POSIX
a -> PipelineExecution
s {$sel:lastModifiedTime:PipelineExecution' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: PipelineExecution) 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 parallelism configuration applied to the pipeline execution.
pipelineExecution_parallelismConfiguration :: Lens.Lens' PipelineExecution (Prelude.Maybe ParallelismConfiguration)
pipelineExecution_parallelismConfiguration :: Lens' PipelineExecution (Maybe ParallelismConfiguration)
pipelineExecution_parallelismConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe ParallelismConfiguration
parallelismConfiguration :: Maybe ParallelismConfiguration
$sel:parallelismConfiguration:PipelineExecution' :: PipelineExecution -> Maybe ParallelismConfiguration
parallelismConfiguration} -> Maybe ParallelismConfiguration
parallelismConfiguration) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe ParallelismConfiguration
a -> PipelineExecution
s {$sel:parallelismConfiguration:PipelineExecution' :: Maybe ParallelismConfiguration
parallelismConfiguration = Maybe ParallelismConfiguration
a} :: PipelineExecution)

-- | The Amazon Resource Name (ARN) of the pipeline that was executed.
pipelineExecution_pipelineArn :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.Text)
pipelineExecution_pipelineArn :: Lens' PipelineExecution (Maybe Text)
pipelineExecution_pipelineArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe Text
pipelineArn :: Maybe Text
$sel:pipelineArn:PipelineExecution' :: PipelineExecution -> Maybe Text
pipelineArn} -> Maybe Text
pipelineArn) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe Text
a -> PipelineExecution
s {$sel:pipelineArn:PipelineExecution' :: Maybe Text
pipelineArn = Maybe Text
a} :: PipelineExecution)

-- | The Amazon Resource Name (ARN) of the pipeline execution.
pipelineExecution_pipelineExecutionArn :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.Text)
pipelineExecution_pipelineExecutionArn :: Lens' PipelineExecution (Maybe Text)
pipelineExecution_pipelineExecutionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe Text
pipelineExecutionArn :: Maybe Text
$sel:pipelineExecutionArn:PipelineExecution' :: PipelineExecution -> Maybe Text
pipelineExecutionArn} -> Maybe Text
pipelineExecutionArn) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe Text
a -> PipelineExecution
s {$sel:pipelineExecutionArn:PipelineExecution' :: Maybe Text
pipelineExecutionArn = Maybe Text
a} :: PipelineExecution)

-- | The description of the pipeline execution.
pipelineExecution_pipelineExecutionDescription :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.Text)
pipelineExecution_pipelineExecutionDescription :: Lens' PipelineExecution (Maybe Text)
pipelineExecution_pipelineExecutionDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe Text
pipelineExecutionDescription :: Maybe Text
$sel:pipelineExecutionDescription:PipelineExecution' :: PipelineExecution -> Maybe Text
pipelineExecutionDescription} -> Maybe Text
pipelineExecutionDescription) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe Text
a -> PipelineExecution
s {$sel:pipelineExecutionDescription:PipelineExecution' :: Maybe Text
pipelineExecutionDescription = Maybe Text
a} :: PipelineExecution)

-- | The display name of the pipeline execution.
pipelineExecution_pipelineExecutionDisplayName :: Lens.Lens' PipelineExecution (Prelude.Maybe Prelude.Text)
pipelineExecution_pipelineExecutionDisplayName :: Lens' PipelineExecution (Maybe Text)
pipelineExecution_pipelineExecutionDisplayName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe Text
pipelineExecutionDisplayName :: Maybe Text
$sel:pipelineExecutionDisplayName:PipelineExecution' :: PipelineExecution -> Maybe Text
pipelineExecutionDisplayName} -> Maybe Text
pipelineExecutionDisplayName) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe Text
a -> PipelineExecution
s {$sel:pipelineExecutionDisplayName:PipelineExecution' :: Maybe Text
pipelineExecutionDisplayName = Maybe Text
a} :: PipelineExecution)

-- | The status of the pipeline status.
pipelineExecution_pipelineExecutionStatus :: Lens.Lens' PipelineExecution (Prelude.Maybe PipelineExecutionStatus)
pipelineExecution_pipelineExecutionStatus :: Lens' PipelineExecution (Maybe PipelineExecutionStatus)
pipelineExecution_pipelineExecutionStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe PipelineExecutionStatus
pipelineExecutionStatus :: Maybe PipelineExecutionStatus
$sel:pipelineExecutionStatus:PipelineExecution' :: PipelineExecution -> Maybe PipelineExecutionStatus
pipelineExecutionStatus} -> Maybe PipelineExecutionStatus
pipelineExecutionStatus) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe PipelineExecutionStatus
a -> PipelineExecution
s {$sel:pipelineExecutionStatus:PipelineExecution' :: Maybe PipelineExecutionStatus
pipelineExecutionStatus = Maybe PipelineExecutionStatus
a} :: PipelineExecution)

-- | Undocumented member.
pipelineExecution_pipelineExperimentConfig :: Lens.Lens' PipelineExecution (Prelude.Maybe PipelineExperimentConfig)
pipelineExecution_pipelineExperimentConfig :: Lens' PipelineExecution (Maybe PipelineExperimentConfig)
pipelineExecution_pipelineExperimentConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe PipelineExperimentConfig
pipelineExperimentConfig :: Maybe PipelineExperimentConfig
$sel:pipelineExperimentConfig:PipelineExecution' :: PipelineExecution -> Maybe PipelineExperimentConfig
pipelineExperimentConfig} -> Maybe PipelineExperimentConfig
pipelineExperimentConfig) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe PipelineExperimentConfig
a -> PipelineExecution
s {$sel:pipelineExperimentConfig:PipelineExecution' :: Maybe PipelineExperimentConfig
pipelineExperimentConfig = Maybe PipelineExperimentConfig
a} :: PipelineExecution)

-- | Contains a list of pipeline parameters. This list can be empty.
pipelineExecution_pipelineParameters :: Lens.Lens' PipelineExecution (Prelude.Maybe [Parameter])
pipelineExecution_pipelineParameters :: Lens' PipelineExecution (Maybe [Parameter])
pipelineExecution_pipelineParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecution' {Maybe [Parameter]
pipelineParameters :: Maybe [Parameter]
$sel:pipelineParameters:PipelineExecution' :: PipelineExecution -> Maybe [Parameter]
pipelineParameters} -> Maybe [Parameter]
pipelineParameters) (\s :: PipelineExecution
s@PipelineExecution' {} Maybe [Parameter]
a -> PipelineExecution
s {$sel:pipelineParameters:PipelineExecution' :: Maybe [Parameter]
pipelineParameters = Maybe [Parameter]
a} :: PipelineExecution) 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

instance Data.FromJSON PipelineExecution where
  parseJSON :: Value -> Parser PipelineExecution
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"PipelineExecution"
      ( \Object
x ->
          Maybe UserContext
-> Maybe POSIX
-> Maybe Text
-> Maybe UserContext
-> Maybe POSIX
-> Maybe ParallelismConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PipelineExecutionStatus
-> Maybe PipelineExperimentConfig
-> Maybe [Parameter]
-> PipelineExecution
PipelineExecution'
            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
"CreatedBy")
            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
"CreationTime")
            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
"FailureReason")
            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
"LastModifiedBy")
            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
"LastModifiedTime")
            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
"ParallelismConfiguration")
            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
"PipelineArn")
            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
"PipelineExecutionArn")
            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
"PipelineExecutionDescription")
            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
"PipelineExecutionDisplayName")
            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
"PipelineExecutionStatus")
            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
"PipelineExperimentConfig")
            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
"PipelineParameters"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
      )

instance Prelude.Hashable PipelineExecution where
  hashWithSalt :: Int -> PipelineExecution -> Int
hashWithSalt Int
_salt PipelineExecution' {Maybe [Parameter]
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineExecutionStatus
Maybe PipelineExperimentConfig
Maybe UserContext
pipelineParameters :: Maybe [Parameter]
pipelineExperimentConfig :: Maybe PipelineExperimentConfig
pipelineExecutionStatus :: Maybe PipelineExecutionStatus
pipelineExecutionDisplayName :: Maybe Text
pipelineExecutionDescription :: Maybe Text
pipelineExecutionArn :: Maybe Text
pipelineArn :: Maybe Text
parallelismConfiguration :: Maybe ParallelismConfiguration
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
failureReason :: Maybe Text
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:pipelineParameters:PipelineExecution' :: PipelineExecution -> Maybe [Parameter]
$sel:pipelineExperimentConfig:PipelineExecution' :: PipelineExecution -> Maybe PipelineExperimentConfig
$sel:pipelineExecutionStatus:PipelineExecution' :: PipelineExecution -> Maybe PipelineExecutionStatus
$sel:pipelineExecutionDisplayName:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineExecutionDescription:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineExecutionArn:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineArn:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:parallelismConfiguration:PipelineExecution' :: PipelineExecution -> Maybe ParallelismConfiguration
$sel:lastModifiedTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
$sel:lastModifiedBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
$sel:failureReason:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:creationTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
$sel:createdBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
createdBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
creationTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
failureReason
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UserContext
lastModifiedBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ParallelismConfiguration
parallelismConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineExecutionArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineExecutionDescription
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineExecutionDisplayName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipelineExecutionStatus
pipelineExecutionStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipelineExperimentConfig
pipelineExperimentConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Parameter]
pipelineParameters

instance Prelude.NFData PipelineExecution where
  rnf :: PipelineExecution -> ()
rnf PipelineExecution' {Maybe [Parameter]
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineExecutionStatus
Maybe PipelineExperimentConfig
Maybe UserContext
pipelineParameters :: Maybe [Parameter]
pipelineExperimentConfig :: Maybe PipelineExperimentConfig
pipelineExecutionStatus :: Maybe PipelineExecutionStatus
pipelineExecutionDisplayName :: Maybe Text
pipelineExecutionDescription :: Maybe Text
pipelineExecutionArn :: Maybe Text
pipelineArn :: Maybe Text
parallelismConfiguration :: Maybe ParallelismConfiguration
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
failureReason :: Maybe Text
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:pipelineParameters:PipelineExecution' :: PipelineExecution -> Maybe [Parameter]
$sel:pipelineExperimentConfig:PipelineExecution' :: PipelineExecution -> Maybe PipelineExperimentConfig
$sel:pipelineExecutionStatus:PipelineExecution' :: PipelineExecution -> Maybe PipelineExecutionStatus
$sel:pipelineExecutionDisplayName:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineExecutionDescription:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineExecutionArn:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:pipelineArn:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:parallelismConfiguration:PipelineExecution' :: PipelineExecution -> Maybe ParallelismConfiguration
$sel:lastModifiedTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
$sel:lastModifiedBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
$sel:failureReason:PipelineExecution' :: PipelineExecution -> Maybe Text
$sel:creationTime:PipelineExecution' :: PipelineExecution -> Maybe POSIX
$sel:createdBy:PipelineExecution' :: PipelineExecution -> Maybe UserContext
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe UserContext
createdBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
creationTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failureReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UserContext
lastModifiedBy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ParallelismConfiguration
parallelismConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineExecutionArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineExecutionDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineExecutionDisplayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipelineExecutionStatus
pipelineExecutionStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipelineExperimentConfig
pipelineExperimentConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Parameter]
pipelineParameters