{-# 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.Pipeline
-- 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.Pipeline 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.PipelineStatus
import Amazonka.SageMaker.Types.Tag
import Amazonka.SageMaker.Types.UserContext

-- | A SageMaker Model Building Pipeline instance.
--
-- /See:/ 'newPipeline' smart constructor.
data Pipeline = Pipeline'
  { Pipeline -> Maybe UserContext
createdBy :: Prelude.Maybe UserContext,
    -- | The creation time of the pipeline.
    Pipeline -> Maybe POSIX
creationTime :: Prelude.Maybe Data.POSIX,
    Pipeline -> Maybe UserContext
lastModifiedBy :: Prelude.Maybe UserContext,
    -- | The time that the pipeline was last modified.
    Pipeline -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Data.POSIX,
    -- | The time when the pipeline was last run.
    Pipeline -> Maybe POSIX
lastRunTime :: Prelude.Maybe Data.POSIX,
    -- | The parallelism configuration applied to the pipeline.
    Pipeline -> Maybe ParallelismConfiguration
parallelismConfiguration :: Prelude.Maybe ParallelismConfiguration,
    -- | The Amazon Resource Name (ARN) of the pipeline.
    Pipeline -> Maybe Text
pipelineArn :: Prelude.Maybe Prelude.Text,
    -- | The description of the pipeline.
    Pipeline -> Maybe Text
pipelineDescription :: Prelude.Maybe Prelude.Text,
    -- | The display name of the pipeline.
    Pipeline -> Maybe Text
pipelineDisplayName :: Prelude.Maybe Prelude.Text,
    -- | The name of the pipeline.
    Pipeline -> Maybe Text
pipelineName :: Prelude.Maybe Prelude.Text,
    -- | The status of the pipeline.
    Pipeline -> Maybe PipelineStatus
pipelineStatus :: Prelude.Maybe PipelineStatus,
    -- | The Amazon Resource Name (ARN) of the role that created the pipeline.
    Pipeline -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | A list of tags that apply to the pipeline.
    Pipeline -> Maybe [Tag]
tags :: Prelude.Maybe [Tag]
  }
  deriving (Pipeline -> Pipeline -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Pipeline -> Pipeline -> Bool
$c/= :: Pipeline -> Pipeline -> Bool
== :: Pipeline -> Pipeline -> Bool
$c== :: Pipeline -> Pipeline -> Bool
Prelude.Eq, ReadPrec [Pipeline]
ReadPrec Pipeline
Int -> ReadS Pipeline
ReadS [Pipeline]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Pipeline]
$creadListPrec :: ReadPrec [Pipeline]
readPrec :: ReadPrec Pipeline
$creadPrec :: ReadPrec Pipeline
readList :: ReadS [Pipeline]
$creadList :: ReadS [Pipeline]
readsPrec :: Int -> ReadS Pipeline
$creadsPrec :: Int -> ReadS Pipeline
Prelude.Read, Int -> Pipeline -> ShowS
[Pipeline] -> ShowS
Pipeline -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Pipeline] -> ShowS
$cshowList :: [Pipeline] -> ShowS
show :: Pipeline -> String
$cshow :: Pipeline -> String
showsPrec :: Int -> Pipeline -> ShowS
$cshowsPrec :: Int -> Pipeline -> ShowS
Prelude.Show, forall x. Rep Pipeline x -> Pipeline
forall x. Pipeline -> Rep Pipeline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Pipeline x -> Pipeline
$cfrom :: forall x. Pipeline -> Rep Pipeline x
Prelude.Generic)

-- |
-- Create a value of 'Pipeline' 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', 'pipeline_createdBy' - Undocumented member.
--
-- 'creationTime', 'pipeline_creationTime' - The creation time of the pipeline.
--
-- 'lastModifiedBy', 'pipeline_lastModifiedBy' - Undocumented member.
--
-- 'lastModifiedTime', 'pipeline_lastModifiedTime' - The time that the pipeline was last modified.
--
-- 'lastRunTime', 'pipeline_lastRunTime' - The time when the pipeline was last run.
--
-- 'parallelismConfiguration', 'pipeline_parallelismConfiguration' - The parallelism configuration applied to the pipeline.
--
-- 'pipelineArn', 'pipeline_pipelineArn' - The Amazon Resource Name (ARN) of the pipeline.
--
-- 'pipelineDescription', 'pipeline_pipelineDescription' - The description of the pipeline.
--
-- 'pipelineDisplayName', 'pipeline_pipelineDisplayName' - The display name of the pipeline.
--
-- 'pipelineName', 'pipeline_pipelineName' - The name of the pipeline.
--
-- 'pipelineStatus', 'pipeline_pipelineStatus' - The status of the pipeline.
--
-- 'roleArn', 'pipeline_roleArn' - The Amazon Resource Name (ARN) of the role that created the pipeline.
--
-- 'tags', 'pipeline_tags' - A list of tags that apply to the pipeline.
newPipeline ::
  Pipeline
newPipeline :: Pipeline
newPipeline =
  Pipeline'
    { $sel:createdBy:Pipeline' :: Maybe UserContext
createdBy = forall a. Maybe a
Prelude.Nothing,
      $sel:creationTime:Pipeline' :: Maybe POSIX
creationTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:Pipeline' :: Maybe UserContext
lastModifiedBy = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:Pipeline' :: Maybe POSIX
lastModifiedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastRunTime:Pipeline' :: Maybe POSIX
lastRunTime = forall a. Maybe a
Prelude.Nothing,
      $sel:parallelismConfiguration:Pipeline' :: Maybe ParallelismConfiguration
parallelismConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineArn:Pipeline' :: Maybe Text
pipelineArn = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineDescription:Pipeline' :: Maybe Text
pipelineDescription = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineDisplayName:Pipeline' :: Maybe Text
pipelineDisplayName = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineName:Pipeline' :: Maybe Text
pipelineName = forall a. Maybe a
Prelude.Nothing,
      $sel:pipelineStatus:Pipeline' :: Maybe PipelineStatus
pipelineStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:Pipeline' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:Pipeline' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing
    }

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

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

-- | The time that the pipeline was last modified.
pipeline_lastModifiedTime :: Lens.Lens' Pipeline (Prelude.Maybe Prelude.UTCTime)
pipeline_lastModifiedTime :: Lens' Pipeline (Maybe UTCTime)
pipeline_lastModifiedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Pipeline' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:Pipeline' :: Pipeline -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: Pipeline
s@Pipeline' {} Maybe POSIX
a -> Pipeline
s {$sel:lastModifiedTime:Pipeline' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: Pipeline) 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.
pipeline_lastRunTime :: Lens.Lens' Pipeline (Prelude.Maybe Prelude.UTCTime)
pipeline_lastRunTime :: Lens' Pipeline (Maybe UTCTime)
pipeline_lastRunTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Pipeline' {Maybe POSIX
lastRunTime :: Maybe POSIX
$sel:lastRunTime:Pipeline' :: Pipeline -> Maybe POSIX
lastRunTime} -> Maybe POSIX
lastRunTime) (\s :: Pipeline
s@Pipeline' {} Maybe POSIX
a -> Pipeline
s {$sel:lastRunTime:Pipeline' :: Maybe POSIX
lastRunTime = Maybe POSIX
a} :: Pipeline) 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.
pipeline_parallelismConfiguration :: Lens.Lens' Pipeline (Prelude.Maybe ParallelismConfiguration)
pipeline_parallelismConfiguration :: Lens' Pipeline (Maybe ParallelismConfiguration)
pipeline_parallelismConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Pipeline' {Maybe ParallelismConfiguration
parallelismConfiguration :: Maybe ParallelismConfiguration
$sel:parallelismConfiguration:Pipeline' :: Pipeline -> Maybe ParallelismConfiguration
parallelismConfiguration} -> Maybe ParallelismConfiguration
parallelismConfiguration) (\s :: Pipeline
s@Pipeline' {} Maybe ParallelismConfiguration
a -> Pipeline
s {$sel:parallelismConfiguration:Pipeline' :: Maybe ParallelismConfiguration
parallelismConfiguration = Maybe ParallelismConfiguration
a} :: Pipeline)

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

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

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

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

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

-- | The Amazon Resource Name (ARN) of the role that created the pipeline.
pipeline_roleArn :: Lens.Lens' Pipeline (Prelude.Maybe Prelude.Text)
pipeline_roleArn :: Lens' Pipeline (Maybe Text)
pipeline_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Pipeline' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:Pipeline' :: Pipeline -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: Pipeline
s@Pipeline' {} Maybe Text
a -> Pipeline
s {$sel:roleArn:Pipeline' :: Maybe Text
roleArn = Maybe Text
a} :: Pipeline)

-- | A list of tags that apply to the pipeline.
pipeline_tags :: Lens.Lens' Pipeline (Prelude.Maybe [Tag])
pipeline_tags :: Lens' Pipeline (Maybe [Tag])
pipeline_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Pipeline' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:Pipeline' :: Pipeline -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: Pipeline
s@Pipeline' {} Maybe [Tag]
a -> Pipeline
s {$sel:tags:Pipeline' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: Pipeline) 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 Pipeline where
  parseJSON :: Value -> Parser Pipeline
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"Pipeline"
      ( \Object
x ->
          Maybe UserContext
-> Maybe POSIX
-> Maybe UserContext
-> Maybe POSIX
-> Maybe POSIX
-> Maybe ParallelismConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PipelineStatus
-> Maybe Text
-> Maybe [Tag]
-> Pipeline
Pipeline'
            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
"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
"LastRunTime")
            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
"PipelineDescription")
            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
"PipelineDisplayName")
            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
"PipelineName")
            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
"PipelineStatus")
            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
"RoleArn")
            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
"Tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
      )

instance Prelude.Hashable Pipeline where
  hashWithSalt :: Int -> Pipeline -> Int
hashWithSalt Int
_salt Pipeline' {Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineStatus
Maybe UserContext
tags :: Maybe [Tag]
roleArn :: Maybe Text
pipelineStatus :: Maybe PipelineStatus
pipelineName :: Maybe Text
pipelineDisplayName :: Maybe Text
pipelineDescription :: Maybe Text
pipelineArn :: Maybe Text
parallelismConfiguration :: Maybe ParallelismConfiguration
lastRunTime :: Maybe POSIX
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:tags:Pipeline' :: Pipeline -> Maybe [Tag]
$sel:roleArn:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineStatus:Pipeline' :: Pipeline -> Maybe PipelineStatus
$sel:pipelineName:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineDisplayName:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineDescription:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineArn:Pipeline' :: Pipeline -> Maybe Text
$sel:parallelismConfiguration:Pipeline' :: Pipeline -> Maybe ParallelismConfiguration
$sel:lastRunTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:lastModifiedTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:lastModifiedBy:Pipeline' :: Pipeline -> Maybe UserContext
$sel:creationTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:createdBy:Pipeline' :: Pipeline -> 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 UserContext
lastModifiedBy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastModifiedTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastRunTime
      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
pipelineDescription
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineDisplayName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pipelineName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PipelineStatus
pipelineStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
roleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags

instance Prelude.NFData Pipeline where
  rnf :: Pipeline -> ()
rnf Pipeline' {Maybe [Tag]
Maybe Text
Maybe POSIX
Maybe ParallelismConfiguration
Maybe PipelineStatus
Maybe UserContext
tags :: Maybe [Tag]
roleArn :: Maybe Text
pipelineStatus :: Maybe PipelineStatus
pipelineName :: Maybe Text
pipelineDisplayName :: Maybe Text
pipelineDescription :: Maybe Text
pipelineArn :: Maybe Text
parallelismConfiguration :: Maybe ParallelismConfiguration
lastRunTime :: Maybe POSIX
lastModifiedTime :: Maybe POSIX
lastModifiedBy :: Maybe UserContext
creationTime :: Maybe POSIX
createdBy :: Maybe UserContext
$sel:tags:Pipeline' :: Pipeline -> Maybe [Tag]
$sel:roleArn:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineStatus:Pipeline' :: Pipeline -> Maybe PipelineStatus
$sel:pipelineName:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineDisplayName:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineDescription:Pipeline' :: Pipeline -> Maybe Text
$sel:pipelineArn:Pipeline' :: Pipeline -> Maybe Text
$sel:parallelismConfiguration:Pipeline' :: Pipeline -> Maybe ParallelismConfiguration
$sel:lastRunTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:lastModifiedTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:lastModifiedBy:Pipeline' :: Pipeline -> Maybe UserContext
$sel:creationTime:Pipeline' :: Pipeline -> Maybe POSIX
$sel:createdBy:Pipeline' :: Pipeline -> 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
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 Maybe [Tag]
tags