{-# 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.DescribePipeline
-- 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.
module Amazonka.SageMaker.DescribePipeline
  ( -- * Creating a Request
    DescribePipeline (..),
    newDescribePipeline,

    -- * Request Lenses
    describePipeline_pipelineName,

    -- * Destructuring the Response
    DescribePipelineResponse (..),
    newDescribePipelineResponse,

    -- * Response Lenses
    describePipelineResponse_createdBy,
    describePipelineResponse_creationTime,
    describePipelineResponse_lastModifiedBy,
    describePipelineResponse_lastModifiedTime,
    describePipelineResponse_lastRunTime,
    describePipelineResponse_parallelismConfiguration,
    describePipelineResponse_pipelineArn,
    describePipelineResponse_pipelineDefinition,
    describePipelineResponse_pipelineDescription,
    describePipelineResponse_pipelineDisplayName,
    describePipelineResponse_pipelineName,
    describePipelineResponse_pipelineStatus,
    describePipelineResponse_roleArn,
    describePipelineResponse_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:/ 'newDescribePipeline' smart constructor.
data DescribePipeline = DescribePipeline'
  { -- | The name of the pipeline to describe.
    DescribePipeline -> Text
pipelineName :: Prelude.Text
  }
  deriving (DescribePipeline -> DescribePipeline -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePipeline -> DescribePipeline -> Bool
$c/= :: DescribePipeline -> DescribePipeline -> Bool
== :: DescribePipeline -> DescribePipeline -> Bool
$c== :: DescribePipeline -> DescribePipeline -> Bool
Prelude.Eq, ReadPrec [DescribePipeline]
ReadPrec DescribePipeline
Int -> ReadS DescribePipeline
ReadS [DescribePipeline]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePipeline]
$creadListPrec :: ReadPrec [DescribePipeline]
readPrec :: ReadPrec DescribePipeline
$creadPrec :: ReadPrec DescribePipeline
readList :: ReadS [DescribePipeline]
$creadList :: ReadS [DescribePipeline]
readsPrec :: Int -> ReadS DescribePipeline
$creadsPrec :: Int -> ReadS DescribePipeline
Prelude.Read, Int -> DescribePipeline -> ShowS
[DescribePipeline] -> ShowS
DescribePipeline -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePipeline] -> ShowS
$cshowList :: [DescribePipeline] -> ShowS
show :: DescribePipeline -> String
$cshow :: DescribePipeline -> String
showsPrec :: Int -> DescribePipeline -> ShowS
$cshowsPrec :: Int -> DescribePipeline -> ShowS
Prelude.Show, forall x. Rep DescribePipeline x -> DescribePipeline
forall x. DescribePipeline -> Rep DescribePipeline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribePipeline x -> DescribePipeline
$cfrom :: forall x. DescribePipeline -> Rep DescribePipeline x
Prelude.Generic)

-- |
-- Create a value of 'DescribePipeline' 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:
--
-- 'pipelineName', 'describePipeline_pipelineName' - The name of the pipeline to describe.
newDescribePipeline ::
  -- | 'pipelineName'
  Prelude.Text ->
  DescribePipeline
newDescribePipeline :: Text -> DescribePipeline
newDescribePipeline Text
pPipelineName_ =
  DescribePipeline' {$sel:pipelineName:DescribePipeline' :: Text
pipelineName = Text
pPipelineName_}

-- | The name of the pipeline to describe.
describePipeline_pipelineName :: Lens.Lens' DescribePipeline Prelude.Text
describePipeline_pipelineName :: Lens' DescribePipeline Text
describePipeline_pipelineName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipeline' {Text
pipelineName :: Text
$sel:pipelineName:DescribePipeline' :: DescribePipeline -> Text
pipelineName} -> Text
pipelineName) (\s :: DescribePipeline
s@DescribePipeline' {} Text
a -> DescribePipeline
s {$sel:pipelineName:DescribePipeline' :: Text
pipelineName = Text
a} :: DescribePipeline)

instance Core.AWSRequest DescribePipeline where
  type
    AWSResponse DescribePipeline =
      DescribePipelineResponse
  request :: (Service -> Service)
-> DescribePipeline -> Request DescribePipeline
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 DescribePipeline
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribePipeline)))
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 UserContext
-> Maybe POSIX
-> Maybe POSIX
-> Maybe ParallelismConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PipelineStatus
-> Maybe Text
-> Int
-> DescribePipelineResponse
DescribePipelineResponse'
            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
"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
"LastRunTime")
            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
"PipelineDefinition")
            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
"PipelineDescription")
            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
"PipelineDisplayName")
            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
"PipelineName")
            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
"PipelineStatus")
            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
"RoleArn")
            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 DescribePipeline where
  hashWithSalt :: Int -> DescribePipeline -> Int
hashWithSalt Int
_salt DescribePipeline' {Text
pipelineName :: Text
$sel:pipelineName:DescribePipeline' :: DescribePipeline -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
pipelineName

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

instance Data.ToHeaders DescribePipeline where
  toHeaders :: DescribePipeline -> 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.DescribePipeline" :: 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 DescribePipeline where
  toJSON :: DescribePipeline -> Value
toJSON DescribePipeline' {Text
pipelineName :: Text
$sel:pipelineName:DescribePipeline' :: DescribePipeline -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"PipelineName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
pipelineName)]
      )

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

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

-- | /See:/ 'newDescribePipelineResponse' smart constructor.
data DescribePipelineResponse = DescribePipelineResponse'
  { DescribePipelineResponse -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | The time when the pipeline was created.
    DescribePipelineResponse -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    DescribePipelineResponse -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | The time when the pipeline was last modified.
    DescribePipelineResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The time when the pipeline was last run.
    DescribePipelineResponse -> Maybe POSIX
lastRunTime :: Prelude.Maybe Data.POSIX,
    -- | Lists the parallelism configuration applied to the pipeline.
    DescribePipelineResponse -> Maybe ParallelismConfiguration
parallelismConfiguration :: Prelude.Maybe ParallelismConfiguration,
    -- | The Amazon Resource Name (ARN) of the pipeline.
    DescribePipelineResponse -> Maybe Text
pipelineArn :: Prelude.Maybe Prelude.Text,
    -- | The JSON pipeline definition.
    DescribePipelineResponse -> Maybe Text
pipelineDefinition :: Prelude.Maybe Prelude.Text,
    -- | The description of the pipeline.
    DescribePipelineResponse -> Maybe Text
pipelineDescription :: Prelude.Maybe Prelude.Text,
    -- | The display name of the pipeline.
    DescribePipelineResponse -> Maybe Text
pipelineDisplayName :: Prelude.Maybe Prelude.Text,
    -- | The name of the pipeline.
    DescribePipelineResponse -> Maybe Text
pipelineName :: Prelude.Maybe Prelude.Text,
    -- | The status of the pipeline execution.
    DescribePipelineResponse -> Maybe PipelineStatus
pipelineStatus :: Prelude.Maybe PipelineStatus,
    -- | The Amazon Resource Name (ARN) that the pipeline uses to execute.
    DescribePipelineResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribePipelineResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribePipelineResponse -> DescribePipelineResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePipelineResponse -> DescribePipelineResponse -> Bool
$c/= :: DescribePipelineResponse -> DescribePipelineResponse -> Bool
== :: DescribePipelineResponse -> DescribePipelineResponse -> Bool
$c== :: DescribePipelineResponse -> DescribePipelineResponse -> Bool
Prelude.Eq, ReadPrec [DescribePipelineResponse]
ReadPrec DescribePipelineResponse
Int -> ReadS DescribePipelineResponse
ReadS [DescribePipelineResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePipelineResponse]
$creadListPrec :: ReadPrec [DescribePipelineResponse]
readPrec :: ReadPrec DescribePipelineResponse
$creadPrec :: ReadPrec DescribePipelineResponse
readList :: ReadS [DescribePipelineResponse]
$creadList :: ReadS [DescribePipelineResponse]
readsPrec :: Int -> ReadS DescribePipelineResponse
$creadsPrec :: Int -> ReadS DescribePipelineResponse
Prelude.Read, Int -> DescribePipelineResponse -> ShowS
[DescribePipelineResponse] -> ShowS
DescribePipelineResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePipelineResponse] -> ShowS
$cshowList :: [DescribePipelineResponse] -> ShowS
show :: DescribePipelineResponse -> String
$cshow :: DescribePipelineResponse -> String
showsPrec :: Int -> DescribePipelineResponse -> ShowS
$cshowsPrec :: Int -> DescribePipelineResponse -> ShowS
Prelude.Show, forall x.
Rep DescribePipelineResponse x -> DescribePipelineResponse
forall x.
DescribePipelineResponse -> Rep DescribePipelineResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePipelineResponse x -> DescribePipelineResponse
$cfrom :: forall x.
DescribePipelineResponse -> Rep DescribePipelineResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribePipelineResponse' 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', 'describePipelineResponse_createdBy' - Undocumented member.
--
-- 'creationTime', 'describePipelineResponse_creationTime' - The time when the pipeline was created.
--
-- 'lastModifiedBy', 'describePipelineResponse_lastModifiedBy' - Undocumented member.
--
-- 'lastModifiedTime', 'describePipelineResponse_lastModifiedTime' - The time when the pipeline was last modified.
--
-- 'lastRunTime', 'describePipelineResponse_lastRunTime' - The time when the pipeline was last run.
--
-- 'parallelismConfiguration', 'describePipelineResponse_parallelismConfiguration' - Lists the parallelism configuration applied to the pipeline.
--
-- 'pipelineArn', 'describePipelineResponse_pipelineArn' - The Amazon Resource Name (ARN) of the pipeline.
--
-- 'pipelineDefinition', 'describePipelineResponse_pipelineDefinition' - The JSON pipeline definition.
--
-- 'pipelineDescription', 'describePipelineResponse_pipelineDescription' - The description of the pipeline.
--
-- 'pipelineDisplayName', 'describePipelineResponse_pipelineDisplayName' - The display name of the pipeline.
--
-- 'pipelineName', 'describePipelineResponse_pipelineName' - The name of the pipeline.
--
-- 'pipelineStatus', 'describePipelineResponse_pipelineStatus' - The status of the pipeline execution.
--
-- 'roleArn', 'describePipelineResponse_roleArn' - The Amazon Resource Name (ARN) that the pipeline uses to execute.
--
-- 'httpStatus', 'describePipelineResponse_httpStatus' - The response's http status code.
newDescribePipelineResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribePipelineResponse
newDescribePipelineResponse :: Int -> DescribePipelineResponse
newDescribePipelineResponse Int
pHttpStatus_ =
  DescribePipelineResponse'
    { $sel:createdBy:DescribePipelineResponse' :: Maybe UserContext
createdBy =
        forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:DescribePipelineResponse' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:DescribePipelineResponse' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:DescribePipelineResponse' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastRunTime:DescribePipelineResponse' :: Maybe POSIX
lastRunTime = forall a. Maybe a
Prelude.Nothing,
      $sel:parallelismConfiguration:DescribePipelineResponse' :: Maybe ParallelismConfiguration
parallelismConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineArn:DescribePipelineResponse' :: Maybe Text
pipelineArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineDefinition:DescribePipelineResponse' :: Maybe Text
pipelineDefinition = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineDescription:DescribePipelineResponse' :: Maybe Text
pipelineDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineDisplayName:DescribePipelineResponse' :: Maybe Text
pipelineDisplayName = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineName:DescribePipelineResponse' :: Maybe Text
pipelineName = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineStatus:DescribePipelineResponse' :: Maybe PipelineStatus
pipelineStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribePipelineResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribePipelineResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

-- | The time when the pipeline was last modified.
describePipelineResponse_lastModifiedTime :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe Prelude.UTCTime)
describePipelineResponse_lastModifiedTime :: Lens' DescribePipelineResponse (Maybe UTCTime)
describePipelineResponse_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe POSIX
a -> DescribePipelineResponse
s {$sel:lastModifiedTime:DescribePipelineResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribePipelineResponse) 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 time when the pipeline was last run.
describePipelineResponse_lastRunTime :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe Prelude.UTCTime)
describePipelineResponse_lastRunTime :: Lens' DescribePipelineResponse (Maybe UTCTime)
describePipelineResponse_lastRunTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe POSIX
lastRunTime :: Maybe POSIX
$sel:lastRunTime:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe POSIX
lastRunTime} -> Maybe POSIX
lastRunTime) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe POSIX
a -> DescribePipelineResponse
s {$sel:lastRunTime:DescribePipelineResponse' :: Maybe POSIX
lastRunTime = Maybe POSIX
a} :: DescribePipelineResponse) 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

-- | Lists the parallelism configuration applied to the pipeline.
describePipelineResponse_parallelismConfiguration :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe ParallelismConfiguration)
describePipelineResponse_parallelismConfiguration :: Lens' DescribePipelineResponse (Maybe ParallelismConfiguration)
describePipelineResponse_parallelismConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe ParallelismConfiguration
parallelismConfiguration :: Maybe ParallelismConfiguration
$sel:parallelismConfiguration:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe ParallelismConfiguration
parallelismConfiguration} -> Maybe ParallelismConfiguration
parallelismConfiguration) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe ParallelismConfiguration
a -> DescribePipelineResponse
s {$sel:parallelismConfiguration:DescribePipelineResponse' :: Maybe ParallelismConfiguration
parallelismConfiguration = Maybe ParallelismConfiguration
a} :: DescribePipelineResponse)

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

-- | The JSON pipeline definition.
describePipelineResponse_pipelineDefinition :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe Prelude.Text)
describePipelineResponse_pipelineDefinition :: Lens' DescribePipelineResponse (Maybe Text)
describePipelineResponse_pipelineDefinition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe Text
pipelineDefinition :: Maybe Text
$sel:pipelineDefinition:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
pipelineDefinition} -> Maybe Text
pipelineDefinition) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe Text
a -> DescribePipelineResponse
s {$sel:pipelineDefinition:DescribePipelineResponse' :: Maybe Text
pipelineDefinition = Maybe Text
a} :: DescribePipelineResponse)

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

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

-- | The name of the pipeline.
describePipelineResponse_pipelineName :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe Prelude.Text)
describePipelineResponse_pipelineName :: Lens' DescribePipelineResponse (Maybe Text)
describePipelineResponse_pipelineName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe Text
pipelineName :: Maybe Text
$sel:pipelineName:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
pipelineName} -> Maybe Text
pipelineName) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe Text
a -> DescribePipelineResponse
s {$sel:pipelineName:DescribePipelineResponse' :: Maybe Text
pipelineName = Maybe Text
a} :: DescribePipelineResponse)

-- | The status of the pipeline execution.
describePipelineResponse_pipelineStatus :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe PipelineStatus)
describePipelineResponse_pipelineStatus :: Lens' DescribePipelineResponse (Maybe PipelineStatus)
describePipelineResponse_pipelineStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe PipelineStatus
pipelineStatus :: Maybe PipelineStatus
$sel:pipelineStatus:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe PipelineStatus
pipelineStatus} -> Maybe PipelineStatus
pipelineStatus) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe PipelineStatus
a -> DescribePipelineResponse
s {$sel:pipelineStatus:DescribePipelineResponse' :: Maybe PipelineStatus
pipelineStatus = Maybe PipelineStatus
a} :: DescribePipelineResponse)

-- | The Amazon Resource Name (ARN) that the pipeline uses to execute.
describePipelineResponse_roleArn :: Lens.Lens' DescribePipelineResponse (Prelude.Maybe Prelude.Text)
describePipelineResponse_roleArn :: Lens' DescribePipelineResponse (Maybe Text)
describePipelineResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePipelineResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribePipelineResponse
s@DescribePipelineResponse' {} Maybe Text
a -> DescribePipelineResponse
s {$sel:roleArn:DescribePipelineResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribePipelineResponse)

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

instance Prelude.NFData DescribePipelineResponse where
  rnf :: DescribePipelineResponse -> ()
rnf DescribePipelineResponse' {Int
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineStatus
Maybe UserContext
httpStatus :: Int
roleArn :: Maybe Text
pipelineStatus :: Maybe PipelineStatus
pipelineName :: Maybe Text
pipelineDisplayName :: Maybe Text
pipelineDescription :: Maybe Text
pipelineDefinition :: Maybe Text
pipelineArn :: Maybe Text
parallelismConfiguration :: Maybe ParallelismConfiguration
lastRunTime :: Maybe POSIX
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:httpStatus:DescribePipelineResponse' :: DescribePipelineResponse -> Int
$sel:roleArn:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:pipelineStatus:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe PipelineStatus
$sel:pipelineName:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:pipelineDisplayName:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:pipelineDescription:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:pipelineDefinition:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:pipelineArn:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe Text
$sel:parallelismConfiguration:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe ParallelismConfiguration
$sel:lastRunTime:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe POSIX
$sel:lastModifiedTime:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe POSIX
$sel:lastModifiedBy:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe UserContext
$sel:creationTime:DescribePipelineResponse' :: DescribePipelineResponse -> Maybe POSIX
$sel:createdBy:DescribePipelineResponse' :: DescribePipelineResponse -> 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 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 POSIX
lastRunTime
      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
pipelineDefinition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineDescription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineDisplayName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pipelineName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PipelineStatus
pipelineStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus