amazonka-sagemaker-2.0: gen/Amazonka/SageMaker/Types/PipelineExecutionStep.hs
{-# 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.PipelineExecutionStep
-- 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.PipelineExecutionStep 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.CacheHitResult
import Amazonka.SageMaker.Types.PipelineExecutionStepMetadata
import Amazonka.SageMaker.Types.StepStatus
-- | An execution of a step in a pipeline.
--
-- /See:/ 'newPipelineExecutionStep' smart constructor.
data PipelineExecutionStep = PipelineExecutionStep'
{ -- | The current attempt of the execution step. For more information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-retry-policy.html Retry Policy for SageMaker Pipelines steps>.
attemptCount :: Prelude.Maybe Prelude.Int,
-- | If this pipeline execution step was cached, details on the cache hit.
cacheHitResult :: Prelude.Maybe CacheHitResult,
-- | The time that the step stopped executing.
endTime :: Prelude.Maybe Data.POSIX,
-- | The reason why the step failed execution. This is only returned if the
-- step failed its execution.
failureReason :: Prelude.Maybe Prelude.Text,
-- | Metadata to run the pipeline step.
metadata :: Prelude.Maybe PipelineExecutionStepMetadata,
-- | The time that the step started executing.
startTime :: Prelude.Maybe Data.POSIX,
-- | The description of the step.
stepDescription :: Prelude.Maybe Prelude.Text,
-- | The display name of the step.
stepDisplayName :: Prelude.Maybe Prelude.Text,
-- | The name of the step that is executed.
stepName :: Prelude.Maybe Prelude.Text,
-- | The status of the step execution.
stepStatus :: Prelude.Maybe StepStatus
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'PipelineExecutionStep' 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:
--
-- 'attemptCount', 'pipelineExecutionStep_attemptCount' - The current attempt of the execution step. For more information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-retry-policy.html Retry Policy for SageMaker Pipelines steps>.
--
-- 'cacheHitResult', 'pipelineExecutionStep_cacheHitResult' - If this pipeline execution step was cached, details on the cache hit.
--
-- 'endTime', 'pipelineExecutionStep_endTime' - The time that the step stopped executing.
--
-- 'failureReason', 'pipelineExecutionStep_failureReason' - The reason why the step failed execution. This is only returned if the
-- step failed its execution.
--
-- 'metadata', 'pipelineExecutionStep_metadata' - Metadata to run the pipeline step.
--
-- 'startTime', 'pipelineExecutionStep_startTime' - The time that the step started executing.
--
-- 'stepDescription', 'pipelineExecutionStep_stepDescription' - The description of the step.
--
-- 'stepDisplayName', 'pipelineExecutionStep_stepDisplayName' - The display name of the step.
--
-- 'stepName', 'pipelineExecutionStep_stepName' - The name of the step that is executed.
--
-- 'stepStatus', 'pipelineExecutionStep_stepStatus' - The status of the step execution.
newPipelineExecutionStep ::
PipelineExecutionStep
newPipelineExecutionStep =
PipelineExecutionStep'
{ attemptCount =
Prelude.Nothing,
cacheHitResult = Prelude.Nothing,
endTime = Prelude.Nothing,
failureReason = Prelude.Nothing,
metadata = Prelude.Nothing,
startTime = Prelude.Nothing,
stepDescription = Prelude.Nothing,
stepDisplayName = Prelude.Nothing,
stepName = Prelude.Nothing,
stepStatus = Prelude.Nothing
}
-- | The current attempt of the execution step. For more information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-retry-policy.html Retry Policy for SageMaker Pipelines steps>.
pipelineExecutionStep_attemptCount :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.Int)
pipelineExecutionStep_attemptCount = Lens.lens (\PipelineExecutionStep' {attemptCount} -> attemptCount) (\s@PipelineExecutionStep' {} a -> s {attemptCount = a} :: PipelineExecutionStep)
-- | If this pipeline execution step was cached, details on the cache hit.
pipelineExecutionStep_cacheHitResult :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe CacheHitResult)
pipelineExecutionStep_cacheHitResult = Lens.lens (\PipelineExecutionStep' {cacheHitResult} -> cacheHitResult) (\s@PipelineExecutionStep' {} a -> s {cacheHitResult = a} :: PipelineExecutionStep)
-- | The time that the step stopped executing.
pipelineExecutionStep_endTime :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.UTCTime)
pipelineExecutionStep_endTime = Lens.lens (\PipelineExecutionStep' {endTime} -> endTime) (\s@PipelineExecutionStep' {} a -> s {endTime = a} :: PipelineExecutionStep) Prelude.. Lens.mapping Data._Time
-- | The reason why the step failed execution. This is only returned if the
-- step failed its execution.
pipelineExecutionStep_failureReason :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.Text)
pipelineExecutionStep_failureReason = Lens.lens (\PipelineExecutionStep' {failureReason} -> failureReason) (\s@PipelineExecutionStep' {} a -> s {failureReason = a} :: PipelineExecutionStep)
-- | Metadata to run the pipeline step.
pipelineExecutionStep_metadata :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe PipelineExecutionStepMetadata)
pipelineExecutionStep_metadata = Lens.lens (\PipelineExecutionStep' {metadata} -> metadata) (\s@PipelineExecutionStep' {} a -> s {metadata = a} :: PipelineExecutionStep)
-- | The time that the step started executing.
pipelineExecutionStep_startTime :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.UTCTime)
pipelineExecutionStep_startTime = Lens.lens (\PipelineExecutionStep' {startTime} -> startTime) (\s@PipelineExecutionStep' {} a -> s {startTime = a} :: PipelineExecutionStep) Prelude.. Lens.mapping Data._Time
-- | The description of the step.
pipelineExecutionStep_stepDescription :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.Text)
pipelineExecutionStep_stepDescription = Lens.lens (\PipelineExecutionStep' {stepDescription} -> stepDescription) (\s@PipelineExecutionStep' {} a -> s {stepDescription = a} :: PipelineExecutionStep)
-- | The display name of the step.
pipelineExecutionStep_stepDisplayName :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.Text)
pipelineExecutionStep_stepDisplayName = Lens.lens (\PipelineExecutionStep' {stepDisplayName} -> stepDisplayName) (\s@PipelineExecutionStep' {} a -> s {stepDisplayName = a} :: PipelineExecutionStep)
-- | The name of the step that is executed.
pipelineExecutionStep_stepName :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe Prelude.Text)
pipelineExecutionStep_stepName = Lens.lens (\PipelineExecutionStep' {stepName} -> stepName) (\s@PipelineExecutionStep' {} a -> s {stepName = a} :: PipelineExecutionStep)
-- | The status of the step execution.
pipelineExecutionStep_stepStatus :: Lens.Lens' PipelineExecutionStep (Prelude.Maybe StepStatus)
pipelineExecutionStep_stepStatus = Lens.lens (\PipelineExecutionStep' {stepStatus} -> stepStatus) (\s@PipelineExecutionStep' {} a -> s {stepStatus = a} :: PipelineExecutionStep)
instance Data.FromJSON PipelineExecutionStep where
parseJSON =
Data.withObject
"PipelineExecutionStep"
( \x ->
PipelineExecutionStep'
Prelude.<$> (x Data..:? "AttemptCount")
Prelude.<*> (x Data..:? "CacheHitResult")
Prelude.<*> (x Data..:? "EndTime")
Prelude.<*> (x Data..:? "FailureReason")
Prelude.<*> (x Data..:? "Metadata")
Prelude.<*> (x Data..:? "StartTime")
Prelude.<*> (x Data..:? "StepDescription")
Prelude.<*> (x Data..:? "StepDisplayName")
Prelude.<*> (x Data..:? "StepName")
Prelude.<*> (x Data..:? "StepStatus")
)
instance Prelude.Hashable PipelineExecutionStep where
hashWithSalt _salt PipelineExecutionStep' {..} =
_salt
`Prelude.hashWithSalt` attemptCount
`Prelude.hashWithSalt` cacheHitResult
`Prelude.hashWithSalt` endTime
`Prelude.hashWithSalt` failureReason
`Prelude.hashWithSalt` metadata
`Prelude.hashWithSalt` startTime
`Prelude.hashWithSalt` stepDescription
`Prelude.hashWithSalt` stepDisplayName
`Prelude.hashWithSalt` stepName
`Prelude.hashWithSalt` stepStatus
instance Prelude.NFData PipelineExecutionStep where
rnf PipelineExecutionStep' {..} =
Prelude.rnf attemptCount
`Prelude.seq` Prelude.rnf cacheHitResult
`Prelude.seq` Prelude.rnf endTime
`Prelude.seq` Prelude.rnf failureReason
`Prelude.seq` Prelude.rnf metadata
`Prelude.seq` Prelude.rnf startTime
`Prelude.seq` Prelude.rnf stepDescription
`Prelude.seq` Prelude.rnf stepDisplayName
`Prelude.seq` Prelude.rnf stepName
`Prelude.seq` Prelude.rnf stepStatus