{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.DescribePipelineExecution
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Describes the details of a pipeline execution.
module Amazonka.SageMaker.DescribePipelineExecution
  ( -- * Creating a Request
    DescribePipelineExecution (..),
    newDescribePipelineExecution,

    -- * Request Lenses
    describePipelineExecution_pipelineExecutionArn,

    -- * Destructuring the Response
    DescribePipelineExecutionResponse (..),
    newDescribePipelineExecutionResponse,

    -- * Response Lenses
    describePipelineExecutionResponse_createdBy,
    describePipelineExecutionResponse_creationTime,
    describePipelineExecutionResponse_failureReason,
    describePipelineExecutionResponse_lastModifiedBy,
    describePipelineExecutionResponse_lastModifiedTime,
    describePipelineExecutionResponse_parallelismConfiguration,
    describePipelineExecutionResponse_pipelineArn,
    describePipelineExecutionResponse_pipelineExecutionArn,
    describePipelineExecutionResponse_pipelineExecutionDescription,
    describePipelineExecutionResponse_pipelineExecutionDisplayName,
    describePipelineExecutionResponse_pipelineExecutionStatus,
    describePipelineExecutionResponse_pipelineExperimentConfig,
    describePipelineExecutionResponse_httpStatus,
  )
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribePipelineExecution' smart constructor.
data DescribePipelineExecution = DescribePipelineExecution'
  { -- | The Amazon Resource Name (ARN) of the pipeline execution.
    DescribePipelineExecution -> Text
pipelineExecutionArn :: Prelude.Text
  }
  deriving (DescribePipelineExecution -> DescribePipelineExecution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePipelineExecution -> DescribePipelineExecution -> Bool
$c/= :: DescribePipelineExecution -> DescribePipelineExecution -> Bool
== :: DescribePipelineExecution -> DescribePipelineExecution -> Bool
$c== :: DescribePipelineExecution -> DescribePipelineExecution -> Bool
Prelude.Eq, ReadPrec [DescribePipelineExecution]
ReadPrec DescribePipelineExecution
Int -> ReadS DescribePipelineExecution
ReadS [DescribePipelineExecution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePipelineExecution]
$creadListPrec :: ReadPrec [DescribePipelineExecution]
readPrec :: ReadPrec DescribePipelineExecution
$creadPrec :: ReadPrec DescribePipelineExecution
readList :: ReadS [DescribePipelineExecution]
$creadList :: ReadS [DescribePipelineExecution]
readsPrec :: Int -> ReadS DescribePipelineExecution
$creadsPrec :: Int -> ReadS DescribePipelineExecution
Prelude.Read, Int -> DescribePipelineExecution -> ShowS
[DescribePipelineExecution] -> ShowS
DescribePipelineExecution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePipelineExecution] -> ShowS
$cshowList :: [DescribePipelineExecution] -> ShowS
show :: DescribePipelineExecution -> String
$cshow :: DescribePipelineExecution -> String
showsPrec :: Int -> DescribePipelineExecution -> ShowS
$cshowsPrec :: Int -> DescribePipelineExecution -> ShowS
Prelude.Show, forall x.
Rep DescribePipelineExecution x -> DescribePipelineExecution
forall x.
DescribePipelineExecution -> Rep DescribePipelineExecution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePipelineExecution x -> DescribePipelineExecution
$cfrom :: forall x.
DescribePipelineExecution -> Rep DescribePipelineExecution x
Prelude.Generic)

-- |
-- Create a value of 'DescribePipelineExecution' 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:
--
-- 'pipelineExecutionArn', 'describePipelineExecution_pipelineExecutionArn' - The Amazon Resource Name (ARN) of the pipeline execution.
newDescribePipelineExecution ::
  -- | 'pipelineExecutionArn'
  Prelude.Text ->
  DescribePipelineExecution
newDescribePipelineExecution :: Text -> DescribePipelineExecution
newDescribePipelineExecution Text
pPipelineExecutionArn_ =
  DescribePipelineExecution'
    { $sel:pipelineExecutionArn:DescribePipelineExecution' :: Text
pipelineExecutionArn =
        Text
pPipelineExecutionArn_
    }

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

instance Core.AWSRequest DescribePipelineExecution where
  type
    AWSResponse DescribePipelineExecution =
      DescribePipelineExecutionResponse
  request :: (Service -> Service)
-> DescribePipelineExecution -> Request DescribePipelineExecution
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribePipelineExecution
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribePipelineExecution)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h 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
-> Int
-> DescribePipelineExecutionResponse
DescribePipelineExecutionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"PipelineExperimentConfig")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribePipelineExecution where
  hashWithSalt :: Int -> DescribePipelineExecution -> Int
hashWithSalt Int
_salt DescribePipelineExecution' {Text
pipelineExecutionArn :: Text
$sel:pipelineExecutionArn:DescribePipelineExecution' :: DescribePipelineExecution -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
pipelineExecutionArn

instance Prelude.NFData DescribePipelineExecution where
  rnf :: DescribePipelineExecution -> ()
rnf DescribePipelineExecution' {Text
pipelineExecutionArn :: Text
$sel:pipelineExecutionArn:DescribePipelineExecution' :: DescribePipelineExecution -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
pipelineExecutionArn

instance Data.ToHeaders DescribePipelineExecution where
  toHeaders :: DescribePipelineExecution -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"SageMaker.DescribePipelineExecution" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribePipelineExecution where
  toJSON :: DescribePipelineExecution -> Value
toJSON DescribePipelineExecution' {Text
pipelineExecutionArn :: Text
$sel:pipelineExecutionArn:DescribePipelineExecution' :: DescribePipelineExecution -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just
              ( Key
"PipelineExecutionArn"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
pipelineExecutionArn
              )
          ]
      )

instance Data.ToPath DescribePipelineExecution where
  toPath :: DescribePipelineExecution -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribePipelineExecution where
  toQuery :: DescribePipelineExecution -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

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

-- |
-- Create a value of 'DescribePipelineExecutionResponse' 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', 'describePipelineExecutionResponse_createdBy' - Undocumented member.
--
-- 'creationTime', 'describePipelineExecutionResponse_creationTime' - The time when the pipeline execution was created.
--
-- 'failureReason', 'describePipelineExecutionResponse_failureReason' - If the execution failed, a message describing why.
--
-- 'lastModifiedBy', 'describePipelineExecutionResponse_lastModifiedBy' - Undocumented member.
--
-- 'lastModifiedTime', 'describePipelineExecutionResponse_lastModifiedTime' - The time when the pipeline execution was modified last.
--
-- 'parallelismConfiguration', 'describePipelineExecutionResponse_parallelismConfiguration' - The parallelism configuration applied to the pipeline.
--
-- 'pipelineArn', 'describePipelineExecutionResponse_pipelineArn' - The Amazon Resource Name (ARN) of the pipeline.
--
-- 'pipelineExecutionArn', 'describePipelineExecutionResponse_pipelineExecutionArn' - The Amazon Resource Name (ARN) of the pipeline execution.
--
-- 'pipelineExecutionDescription', 'describePipelineExecutionResponse_pipelineExecutionDescription' - The description of the pipeline execution.
--
-- 'pipelineExecutionDisplayName', 'describePipelineExecutionResponse_pipelineExecutionDisplayName' - The display name of the pipeline execution.
--
-- 'pipelineExecutionStatus', 'describePipelineExecutionResponse_pipelineExecutionStatus' - The status of the pipeline execution.
--
-- 'pipelineExperimentConfig', 'describePipelineExecutionResponse_pipelineExperimentConfig' - Undocumented member.
--
-- 'httpStatus', 'describePipelineExecutionResponse_httpStatus' - The response's http status code.
newDescribePipelineExecutionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribePipelineExecutionResponse
newDescribePipelineExecutionResponse :: Int -> DescribePipelineExecutionResponse
newDescribePipelineExecutionResponse Int
pHttpStatus_ =
  DescribePipelineExecutionResponse'
    { $sel:createdBy:DescribePipelineExecutionResponse' :: Maybe UserContext
createdBy =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribePipelineExecutionResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:DescribePipelineExecutionResponse' :: Maybe Text
failureReason = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:DescribePipelineExecutionResponse' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribePipelineExecutionResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:parallelismConfiguration:DescribePipelineExecutionResponse' :: Maybe ParallelismConfiguration
parallelismConfiguration =
        forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineArn:DescribePipelineExecutionResponse' :: Maybe Text
pipelineArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionArn:DescribePipelineExecutionResponse' :: Maybe Text
pipelineExecutionArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionDescription:DescribePipelineExecutionResponse' :: Maybe Text
pipelineExecutionDescription =
        forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionDisplayName:DescribePipelineExecutionResponse' :: Maybe Text
pipelineExecutionDisplayName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExecutionStatus:DescribePipelineExecutionResponse' :: Maybe PipelineExecutionStatus
pipelineExecutionStatus =
        forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineExperimentConfig:DescribePipelineExecutionResponse' :: Maybe PipelineExperimentConfig
pipelineExperimentConfig =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribePipelineExecutionResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | The time when the pipeline execution was created.
describePipelineExecutionResponse_creationTime :: Lens.Lens' DescribePipelineExecutionResponse (Prelude.Maybe Prelude.UTCTime)
describePipelineExecutionResponse_creationTime :: Lens' DescribePipelineExecutionResponse (Maybe UTCTime)
describePipelineExecutionResponse_creationTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineExecutionResponse' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: DescribePipelineExecutionResponse
s@DescribePipelineExecutionResponse' {} Maybe POSIX
a -> DescribePipelineExecutionResponse
s {$sel:creationTime:DescribePipelineExecutionResponse' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: DescribePipelineExecutionResponse) 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.
describePipelineExecutionResponse_failureReason :: Lens.Lens' DescribePipelineExecutionResponse (Prelude.Maybe Prelude.Text)
describePipelineExecutionResponse_failureReason :: Lens' DescribePipelineExecutionResponse (Maybe Text)
describePipelineExecutionResponse_failureReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineExecutionResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribePipelineExecutionResponse
s@DescribePipelineExecutionResponse' {} Maybe Text
a -> DescribePipelineExecutionResponse
s {$sel:failureReason:DescribePipelineExecutionResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribePipelineExecutionResponse)

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

-- | The time when the pipeline execution was modified last.
describePipelineExecutionResponse_lastModifiedTime :: Lens.Lens' DescribePipelineExecutionResponse (Prelude.Maybe Prelude.UTCTime)
describePipelineExecutionResponse_lastModifiedTime :: Lens' DescribePipelineExecutionResponse (Maybe UTCTime)
describePipelineExecutionResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineExecutionResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribePipelineExecutionResponse
s@DescribePipelineExecutionResponse' {} Maybe POSIX
a -> DescribePipelineExecutionResponse
s {$sel:lastModifiedTime:DescribePipelineExecutionResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribePipelineExecutionResponse) 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.
describePipelineExecutionResponse_parallelismConfiguration :: Lens.Lens' DescribePipelineExecutionResponse (Prelude.Maybe ParallelismConfiguration)
describePipelineExecutionResponse_parallelismConfiguration :: Lens'
  DescribePipelineExecutionResponse (Maybe ParallelismConfiguration)
describePipelineExecutionResponse_parallelismConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineExecutionResponse' {Maybe ParallelismConfiguration
parallelismConfiguration :: Maybe ParallelismConfiguration
$sel:parallelismConfiguration:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe ParallelismConfiguration
parallelismConfiguration} -> Maybe ParallelismConfiguration
parallelismConfiguration) (\s :: DescribePipelineExecutionResponse
s@DescribePipelineExecutionResponse' {} Maybe ParallelismConfiguration
a -> DescribePipelineExecutionResponse
s {$sel:parallelismConfiguration:DescribePipelineExecutionResponse' :: Maybe ParallelismConfiguration
parallelismConfiguration = Maybe ParallelismConfiguration
a} :: DescribePipelineExecutionResponse)

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

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

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

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

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

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

-- | The response's http status code.
describePipelineExecutionResponse_httpStatus :: Lens.Lens' DescribePipelineExecutionResponse Prelude.Int
describePipelineExecutionResponse_httpStatus :: Lens' DescribePipelineExecutionResponse Int
describePipelineExecutionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineExecutionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribePipelineExecutionResponse
s@DescribePipelineExecutionResponse' {} Int
a -> DescribePipelineExecutionResponse
s {$sel:httpStatus:DescribePipelineExecutionResponse' :: Int
httpStatus = Int
a} :: DescribePipelineExecutionResponse)

instance
  Prelude.NFData
    DescribePipelineExecutionResponse
  where
  rnf :: DescribePipelineExecutionResponse -> ()
rnf DescribePipelineExecutionResponse' {Int
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineExecutionStatus
Maybe PipelineExperimentConfig
Maybe UserContext
httpStatus :: Int
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:httpStatus:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Int
$sel:pipelineExperimentConfig:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe PipelineExperimentConfig
$sel:pipelineExecutionStatus:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe PipelineExecutionStatus
$sel:pipelineExecutionDisplayName:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
$sel:pipelineExecutionDescription:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
$sel:pipelineExecutionArn:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
$sel:pipelineArn:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
$sel:parallelismConfiguration:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe ParallelismConfiguration
$sel:lastModifiedTime:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe POSIX
$sel:lastModifiedBy:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe UserContext
$sel:failureReason:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe Text
$sel:creationTime:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> Maybe POSIX
$sel:createdBy:DescribePipelineExecutionResponse' :: DescribePipelineExecutionResponse -> 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 Int
httpStatus