{-# 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.PipelineExecutionStepMetadata
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Types.PipelineExecutionStepMetadata where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.CallbackStepMetadata
import Amazonka.SageMaker.Types.ConditionStepMetadata
import Amazonka.SageMaker.Types.LambdaStepMetadata
import Amazonka.SageMaker.Types.ModelStepMetadata
import Amazonka.SageMaker.Types.ProcessingJobStepMetadata
import Amazonka.SageMaker.Types.RegisterModelStepMetadata
import Amazonka.SageMaker.Types.TrainingJobStepMetadata
import Amazonka.SageMaker.Types.TransformJobStepMetadata
import Amazonka.SageMaker.Types.TuningJobStepMetaData

-- | Metadata for a step execution.
--
-- /See:/ 'newPipelineExecutionStepMetadata' smart constructor.
data PipelineExecutionStepMetadata = PipelineExecutionStepMetadata'
  { -- | The Amazon Resource Name (ARN) of the training job that was run by this
    -- step execution.
    PipelineExecutionStepMetadata -> Maybe TrainingJobStepMetadata
trainingJob :: Prelude.Maybe TrainingJobStepMetadata,
    -- | The Amazon Resource Name (ARN) of the processing job that was run by
    -- this step execution.
    PipelineExecutionStepMetadata -> Maybe ProcessingJobStepMetadata
processingJob :: Prelude.Maybe ProcessingJobStepMetadata,
    -- | The Amazon Resource Name (ARN) of the model that was created by this
    -- step execution.
    PipelineExecutionStepMetadata -> Maybe ModelStepMetadata
model :: Prelude.Maybe ModelStepMetadata,
    -- | The Amazon Resource Name (ARN) of the Lambda function that was run by
    -- this step execution and a list of output parameters.
    PipelineExecutionStepMetadata -> Maybe LambdaStepMetadata
lambda :: Prelude.Maybe LambdaStepMetadata,
    -- | The Amazon Resource Name (ARN) of the tuning job that was run by this
    -- step execution.
    PipelineExecutionStepMetadata -> Maybe TuningJobStepMetaData
tuningJob :: Prelude.Maybe TuningJobStepMetaData,
    -- | The outcome of the condition evaluation that was run by this step
    -- execution.
    PipelineExecutionStepMetadata -> Maybe ConditionStepMetadata
condition :: Prelude.Maybe ConditionStepMetadata,
    -- | The Amazon Resource Name (ARN) of the transform job that was run by this
    -- step execution.
    PipelineExecutionStepMetadata -> Maybe TransformJobStepMetadata
transformJob :: Prelude.Maybe TransformJobStepMetadata,
    -- | The Amazon Resource Name (ARN) of the model package the model was
    -- registered to by this step execution.
    PipelineExecutionStepMetadata -> Maybe RegisterModelStepMetadata
registerModel :: Prelude.Maybe RegisterModelStepMetadata,
    -- | The URL of the Amazon SQS queue used by this step execution, the
    -- pipeline generated token, and a list of output parameters.
    PipelineExecutionStepMetadata -> Maybe CallbackStepMetadata
callback :: Prelude.Maybe CallbackStepMetadata
  }
  deriving (PipelineExecutionStepMetadata
-> PipelineExecutionStepMetadata -> Bool
(PipelineExecutionStepMetadata
 -> PipelineExecutionStepMetadata -> Bool)
-> (PipelineExecutionStepMetadata
    -> PipelineExecutionStepMetadata -> Bool)
-> Eq PipelineExecutionStepMetadata
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineExecutionStepMetadata
-> PipelineExecutionStepMetadata -> Bool
$c/= :: PipelineExecutionStepMetadata
-> PipelineExecutionStepMetadata -> Bool
== :: PipelineExecutionStepMetadata
-> PipelineExecutionStepMetadata -> Bool
$c== :: PipelineExecutionStepMetadata
-> PipelineExecutionStepMetadata -> Bool
Prelude.Eq, ReadPrec [PipelineExecutionStepMetadata]
ReadPrec PipelineExecutionStepMetadata
Int -> ReadS PipelineExecutionStepMetadata
ReadS [PipelineExecutionStepMetadata]
(Int -> ReadS PipelineExecutionStepMetadata)
-> ReadS [PipelineExecutionStepMetadata]
-> ReadPrec PipelineExecutionStepMetadata
-> ReadPrec [PipelineExecutionStepMetadata]
-> Read PipelineExecutionStepMetadata
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PipelineExecutionStepMetadata]
$creadListPrec :: ReadPrec [PipelineExecutionStepMetadata]
readPrec :: ReadPrec PipelineExecutionStepMetadata
$creadPrec :: ReadPrec PipelineExecutionStepMetadata
readList :: ReadS [PipelineExecutionStepMetadata]
$creadList :: ReadS [PipelineExecutionStepMetadata]
readsPrec :: Int -> ReadS PipelineExecutionStepMetadata
$creadsPrec :: Int -> ReadS PipelineExecutionStepMetadata
Prelude.Read, Int -> PipelineExecutionStepMetadata -> ShowS
[PipelineExecutionStepMetadata] -> ShowS
PipelineExecutionStepMetadata -> String
(Int -> PipelineExecutionStepMetadata -> ShowS)
-> (PipelineExecutionStepMetadata -> String)
-> ([PipelineExecutionStepMetadata] -> ShowS)
-> Show PipelineExecutionStepMetadata
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PipelineExecutionStepMetadata] -> ShowS
$cshowList :: [PipelineExecutionStepMetadata] -> ShowS
show :: PipelineExecutionStepMetadata -> String
$cshow :: PipelineExecutionStepMetadata -> String
showsPrec :: Int -> PipelineExecutionStepMetadata -> ShowS
$cshowsPrec :: Int -> PipelineExecutionStepMetadata -> ShowS
Prelude.Show, (forall x.
 PipelineExecutionStepMetadata
 -> Rep PipelineExecutionStepMetadata x)
-> (forall x.
    Rep PipelineExecutionStepMetadata x
    -> PipelineExecutionStepMetadata)
-> Generic PipelineExecutionStepMetadata
forall x.
Rep PipelineExecutionStepMetadata x
-> PipelineExecutionStepMetadata
forall x.
PipelineExecutionStepMetadata
-> Rep PipelineExecutionStepMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PipelineExecutionStepMetadata x
-> PipelineExecutionStepMetadata
$cfrom :: forall x.
PipelineExecutionStepMetadata
-> Rep PipelineExecutionStepMetadata x
Prelude.Generic)

-- |
-- Create a value of 'PipelineExecutionStepMetadata' 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:
--
-- 'trainingJob', 'pipelineExecutionStepMetadata_trainingJob' - The Amazon Resource Name (ARN) of the training job that was run by this
-- step execution.
--
-- 'processingJob', 'pipelineExecutionStepMetadata_processingJob' - The Amazon Resource Name (ARN) of the processing job that was run by
-- this step execution.
--
-- 'model', 'pipelineExecutionStepMetadata_model' - The Amazon Resource Name (ARN) of the model that was created by this
-- step execution.
--
-- 'lambda', 'pipelineExecutionStepMetadata_lambda' - The Amazon Resource Name (ARN) of the Lambda function that was run by
-- this step execution and a list of output parameters.
--
-- 'tuningJob', 'pipelineExecutionStepMetadata_tuningJob' - The Amazon Resource Name (ARN) of the tuning job that was run by this
-- step execution.
--
-- 'condition', 'pipelineExecutionStepMetadata_condition' - The outcome of the condition evaluation that was run by this step
-- execution.
--
-- 'transformJob', 'pipelineExecutionStepMetadata_transformJob' - The Amazon Resource Name (ARN) of the transform job that was run by this
-- step execution.
--
-- 'registerModel', 'pipelineExecutionStepMetadata_registerModel' - The Amazon Resource Name (ARN) of the model package the model was
-- registered to by this step execution.
--
-- 'callback', 'pipelineExecutionStepMetadata_callback' - The URL of the Amazon SQS queue used by this step execution, the
-- pipeline generated token, and a list of output parameters.
newPipelineExecutionStepMetadata ::
  PipelineExecutionStepMetadata
newPipelineExecutionStepMetadata :: PipelineExecutionStepMetadata
newPipelineExecutionStepMetadata =
  PipelineExecutionStepMetadata' :: Maybe TrainingJobStepMetadata
-> Maybe ProcessingJobStepMetadata
-> Maybe ModelStepMetadata
-> Maybe LambdaStepMetadata
-> Maybe TuningJobStepMetaData
-> Maybe ConditionStepMetadata
-> Maybe TransformJobStepMetadata
-> Maybe RegisterModelStepMetadata
-> Maybe CallbackStepMetadata
-> PipelineExecutionStepMetadata
PipelineExecutionStepMetadata'
    { $sel:trainingJob:PipelineExecutionStepMetadata' :: Maybe TrainingJobStepMetadata
trainingJob =
        Maybe TrainingJobStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:processingJob:PipelineExecutionStepMetadata' :: Maybe ProcessingJobStepMetadata
processingJob = Maybe ProcessingJobStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:model:PipelineExecutionStepMetadata' :: Maybe ModelStepMetadata
model = Maybe ModelStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:lambda:PipelineExecutionStepMetadata' :: Maybe LambdaStepMetadata
lambda = Maybe LambdaStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:tuningJob:PipelineExecutionStepMetadata' :: Maybe TuningJobStepMetaData
tuningJob = Maybe TuningJobStepMetaData
forall a. Maybe a
Prelude.Nothing,
      $sel:condition:PipelineExecutionStepMetadata' :: Maybe ConditionStepMetadata
condition = Maybe ConditionStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:transformJob:PipelineExecutionStepMetadata' :: Maybe TransformJobStepMetadata
transformJob = Maybe TransformJobStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:registerModel:PipelineExecutionStepMetadata' :: Maybe RegisterModelStepMetadata
registerModel = Maybe RegisterModelStepMetadata
forall a. Maybe a
Prelude.Nothing,
      $sel:callback:PipelineExecutionStepMetadata' :: Maybe CallbackStepMetadata
callback = Maybe CallbackStepMetadata
forall a. Maybe a
Prelude.Nothing
    }

-- | The Amazon Resource Name (ARN) of the training job that was run by this
-- step execution.
pipelineExecutionStepMetadata_trainingJob :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe TrainingJobStepMetadata)
pipelineExecutionStepMetadata_trainingJob :: (Maybe TrainingJobStepMetadata
 -> f (Maybe TrainingJobStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_trainingJob = (PipelineExecutionStepMetadata -> Maybe TrainingJobStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe TrainingJobStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe TrainingJobStepMetadata)
     (Maybe TrainingJobStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe TrainingJobStepMetadata
trainingJob :: Maybe TrainingJobStepMetadata
$sel:trainingJob:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe TrainingJobStepMetadata
trainingJob} -> Maybe TrainingJobStepMetadata
trainingJob) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe TrainingJobStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:trainingJob:PipelineExecutionStepMetadata' :: Maybe TrainingJobStepMetadata
trainingJob = Maybe TrainingJobStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the processing job that was run by
-- this step execution.
pipelineExecutionStepMetadata_processingJob :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe ProcessingJobStepMetadata)
pipelineExecutionStepMetadata_processingJob :: (Maybe ProcessingJobStepMetadata
 -> f (Maybe ProcessingJobStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_processingJob = (PipelineExecutionStepMetadata -> Maybe ProcessingJobStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe ProcessingJobStepMetadata
    -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe ProcessingJobStepMetadata)
     (Maybe ProcessingJobStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe ProcessingJobStepMetadata
processingJob :: Maybe ProcessingJobStepMetadata
$sel:processingJob:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe ProcessingJobStepMetadata
processingJob} -> Maybe ProcessingJobStepMetadata
processingJob) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe ProcessingJobStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:processingJob:PipelineExecutionStepMetadata' :: Maybe ProcessingJobStepMetadata
processingJob = Maybe ProcessingJobStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the model that was created by this
-- step execution.
pipelineExecutionStepMetadata_model :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe ModelStepMetadata)
pipelineExecutionStepMetadata_model :: (Maybe ModelStepMetadata -> f (Maybe ModelStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_model = (PipelineExecutionStepMetadata -> Maybe ModelStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe ModelStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe ModelStepMetadata)
     (Maybe ModelStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe ModelStepMetadata
model :: Maybe ModelStepMetadata
$sel:model:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe ModelStepMetadata
model} -> Maybe ModelStepMetadata
model) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe ModelStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:model:PipelineExecutionStepMetadata' :: Maybe ModelStepMetadata
model = Maybe ModelStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the Lambda function that was run by
-- this step execution and a list of output parameters.
pipelineExecutionStepMetadata_lambda :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe LambdaStepMetadata)
pipelineExecutionStepMetadata_lambda :: (Maybe LambdaStepMetadata -> f (Maybe LambdaStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_lambda = (PipelineExecutionStepMetadata -> Maybe LambdaStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe LambdaStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe LambdaStepMetadata)
     (Maybe LambdaStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe LambdaStepMetadata
lambda :: Maybe LambdaStepMetadata
$sel:lambda:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe LambdaStepMetadata
lambda} -> Maybe LambdaStepMetadata
lambda) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe LambdaStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:lambda:PipelineExecutionStepMetadata' :: Maybe LambdaStepMetadata
lambda = Maybe LambdaStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the tuning job that was run by this
-- step execution.
pipelineExecutionStepMetadata_tuningJob :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe TuningJobStepMetaData)
pipelineExecutionStepMetadata_tuningJob :: (Maybe TuningJobStepMetaData -> f (Maybe TuningJobStepMetaData))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_tuningJob = (PipelineExecutionStepMetadata -> Maybe TuningJobStepMetaData)
-> (PipelineExecutionStepMetadata
    -> Maybe TuningJobStepMetaData -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe TuningJobStepMetaData)
     (Maybe TuningJobStepMetaData)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe TuningJobStepMetaData
tuningJob :: Maybe TuningJobStepMetaData
$sel:tuningJob:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe TuningJobStepMetaData
tuningJob} -> Maybe TuningJobStepMetaData
tuningJob) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe TuningJobStepMetaData
a -> PipelineExecutionStepMetadata
s {$sel:tuningJob:PipelineExecutionStepMetadata' :: Maybe TuningJobStepMetaData
tuningJob = Maybe TuningJobStepMetaData
a} :: PipelineExecutionStepMetadata)

-- | The outcome of the condition evaluation that was run by this step
-- execution.
pipelineExecutionStepMetadata_condition :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe ConditionStepMetadata)
pipelineExecutionStepMetadata_condition :: (Maybe ConditionStepMetadata -> f (Maybe ConditionStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_condition = (PipelineExecutionStepMetadata -> Maybe ConditionStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe ConditionStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe ConditionStepMetadata)
     (Maybe ConditionStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe ConditionStepMetadata
condition :: Maybe ConditionStepMetadata
$sel:condition:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe ConditionStepMetadata
condition} -> Maybe ConditionStepMetadata
condition) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe ConditionStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:condition:PipelineExecutionStepMetadata' :: Maybe ConditionStepMetadata
condition = Maybe ConditionStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the transform job that was run by this
-- step execution.
pipelineExecutionStepMetadata_transformJob :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe TransformJobStepMetadata)
pipelineExecutionStepMetadata_transformJob :: (Maybe TransformJobStepMetadata
 -> f (Maybe TransformJobStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_transformJob = (PipelineExecutionStepMetadata -> Maybe TransformJobStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe TransformJobStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe TransformJobStepMetadata)
     (Maybe TransformJobStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe TransformJobStepMetadata
transformJob :: Maybe TransformJobStepMetadata
$sel:transformJob:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe TransformJobStepMetadata
transformJob} -> Maybe TransformJobStepMetadata
transformJob) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe TransformJobStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:transformJob:PipelineExecutionStepMetadata' :: Maybe TransformJobStepMetadata
transformJob = Maybe TransformJobStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The Amazon Resource Name (ARN) of the model package the model was
-- registered to by this step execution.
pipelineExecutionStepMetadata_registerModel :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe RegisterModelStepMetadata)
pipelineExecutionStepMetadata_registerModel :: (Maybe RegisterModelStepMetadata
 -> f (Maybe RegisterModelStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_registerModel = (PipelineExecutionStepMetadata -> Maybe RegisterModelStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe RegisterModelStepMetadata
    -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe RegisterModelStepMetadata)
     (Maybe RegisterModelStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe RegisterModelStepMetadata
registerModel :: Maybe RegisterModelStepMetadata
$sel:registerModel:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe RegisterModelStepMetadata
registerModel} -> Maybe RegisterModelStepMetadata
registerModel) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe RegisterModelStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:registerModel:PipelineExecutionStepMetadata' :: Maybe RegisterModelStepMetadata
registerModel = Maybe RegisterModelStepMetadata
a} :: PipelineExecutionStepMetadata)

-- | The URL of the Amazon SQS queue used by this step execution, the
-- pipeline generated token, and a list of output parameters.
pipelineExecutionStepMetadata_callback :: Lens.Lens' PipelineExecutionStepMetadata (Prelude.Maybe CallbackStepMetadata)
pipelineExecutionStepMetadata_callback :: (Maybe CallbackStepMetadata -> f (Maybe CallbackStepMetadata))
-> PipelineExecutionStepMetadata -> f PipelineExecutionStepMetadata
pipelineExecutionStepMetadata_callback = (PipelineExecutionStepMetadata -> Maybe CallbackStepMetadata)
-> (PipelineExecutionStepMetadata
    -> Maybe CallbackStepMetadata -> PipelineExecutionStepMetadata)
-> Lens
     PipelineExecutionStepMetadata
     PipelineExecutionStepMetadata
     (Maybe CallbackStepMetadata)
     (Maybe CallbackStepMetadata)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PipelineExecutionStepMetadata' {Maybe CallbackStepMetadata
callback :: Maybe CallbackStepMetadata
$sel:callback:PipelineExecutionStepMetadata' :: PipelineExecutionStepMetadata -> Maybe CallbackStepMetadata
callback} -> Maybe CallbackStepMetadata
callback) (\s :: PipelineExecutionStepMetadata
s@PipelineExecutionStepMetadata' {} Maybe CallbackStepMetadata
a -> PipelineExecutionStepMetadata
s {$sel:callback:PipelineExecutionStepMetadata' :: Maybe CallbackStepMetadata
callback = Maybe CallbackStepMetadata
a} :: PipelineExecutionStepMetadata)

instance Core.FromJSON PipelineExecutionStepMetadata where
  parseJSON :: Value -> Parser PipelineExecutionStepMetadata
parseJSON =
    String
-> (Object -> Parser PipelineExecutionStepMetadata)
-> Value
-> Parser PipelineExecutionStepMetadata
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"PipelineExecutionStepMetadata"
      ( \Object
x ->
          Maybe TrainingJobStepMetadata
-> Maybe ProcessingJobStepMetadata
-> Maybe ModelStepMetadata
-> Maybe LambdaStepMetadata
-> Maybe TuningJobStepMetaData
-> Maybe ConditionStepMetadata
-> Maybe TransformJobStepMetadata
-> Maybe RegisterModelStepMetadata
-> Maybe CallbackStepMetadata
-> PipelineExecutionStepMetadata
PipelineExecutionStepMetadata'
            (Maybe TrainingJobStepMetadata
 -> Maybe ProcessingJobStepMetadata
 -> Maybe ModelStepMetadata
 -> Maybe LambdaStepMetadata
 -> Maybe TuningJobStepMetaData
 -> Maybe ConditionStepMetadata
 -> Maybe TransformJobStepMetadata
 -> Maybe RegisterModelStepMetadata
 -> Maybe CallbackStepMetadata
 -> PipelineExecutionStepMetadata)
-> Parser (Maybe TrainingJobStepMetadata)
-> Parser
     (Maybe ProcessingJobStepMetadata
      -> Maybe ModelStepMetadata
      -> Maybe LambdaStepMetadata
      -> Maybe TuningJobStepMetaData
      -> Maybe ConditionStepMetadata
      -> Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe TrainingJobStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TrainingJob")
            Parser
  (Maybe ProcessingJobStepMetadata
   -> Maybe ModelStepMetadata
   -> Maybe LambdaStepMetadata
   -> Maybe TuningJobStepMetaData
   -> Maybe ConditionStepMetadata
   -> Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe ProcessingJobStepMetadata)
-> Parser
     (Maybe ModelStepMetadata
      -> Maybe LambdaStepMetadata
      -> Maybe TuningJobStepMetaData
      -> Maybe ConditionStepMetadata
      -> Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProcessingJobStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingJob")
            Parser
  (Maybe ModelStepMetadata
   -> Maybe LambdaStepMetadata
   -> Maybe TuningJobStepMetaData
   -> Maybe ConditionStepMetadata
   -> Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe ModelStepMetadata)
-> Parser
     (Maybe LambdaStepMetadata
      -> Maybe TuningJobStepMetaData
      -> Maybe ConditionStepMetadata
      -> Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ModelStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Model")
            Parser
  (Maybe LambdaStepMetadata
   -> Maybe TuningJobStepMetaData
   -> Maybe ConditionStepMetadata
   -> Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe LambdaStepMetadata)
-> Parser
     (Maybe TuningJobStepMetaData
      -> Maybe ConditionStepMetadata
      -> Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe LambdaStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Lambda")
            Parser
  (Maybe TuningJobStepMetaData
   -> Maybe ConditionStepMetadata
   -> Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe TuningJobStepMetaData)
-> Parser
     (Maybe ConditionStepMetadata
      -> Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TuningJobStepMetaData)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TuningJob")
            Parser
  (Maybe ConditionStepMetadata
   -> Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe ConditionStepMetadata)
-> Parser
     (Maybe TransformJobStepMetadata
      -> Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata
      -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ConditionStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Condition")
            Parser
  (Maybe TransformJobStepMetadata
   -> Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata
   -> PipelineExecutionStepMetadata)
-> Parser (Maybe TransformJobStepMetadata)
-> Parser
     (Maybe RegisterModelStepMetadata
      -> Maybe CallbackStepMetadata -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe TransformJobStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TransformJob")
            Parser
  (Maybe RegisterModelStepMetadata
   -> Maybe CallbackStepMetadata -> PipelineExecutionStepMetadata)
-> Parser (Maybe RegisterModelStepMetadata)
-> Parser
     (Maybe CallbackStepMetadata -> PipelineExecutionStepMetadata)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe RegisterModelStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RegisterModel")
            Parser
  (Maybe CallbackStepMetadata -> PipelineExecutionStepMetadata)
-> Parser (Maybe CallbackStepMetadata)
-> Parser PipelineExecutionStepMetadata
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CallbackStepMetadata)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Callback")
      )

instance
  Prelude.Hashable
    PipelineExecutionStepMetadata

instance Prelude.NFData PipelineExecutionStepMetadata