amazonka-sagemaker-2.0: gen/Amazonka/SageMaker/Types/InferenceRecommendationsJobStep.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.InferenceRecommendationsJobStep
-- 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.InferenceRecommendationsJobStep 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.RecommendationJobInferenceBenchmark
import Amazonka.SageMaker.Types.RecommendationJobStatus
import Amazonka.SageMaker.Types.RecommendationStepType
-- | A returned array object for the @Steps@ response field in the
-- <https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_InferenceRecommendationsJobStep.html ListInferenceRecommendationsJobSteps>
-- API command.
--
-- /See:/ 'newInferenceRecommendationsJobStep' smart constructor.
data InferenceRecommendationsJobStep = InferenceRecommendationsJobStep'
{ -- | The details for a specific benchmark.
inferenceBenchmark :: Prelude.Maybe RecommendationJobInferenceBenchmark,
-- | The type of the subtask.
--
-- @BENCHMARK@: Evaluate the performance of your model on different
-- instance types.
stepType :: RecommendationStepType,
-- | The name of the Inference Recommender job.
jobName :: Prelude.Text,
-- | The current status of the benchmark.
status :: RecommendationJobStatus
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'InferenceRecommendationsJobStep' 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:
--
-- 'inferenceBenchmark', 'inferenceRecommendationsJobStep_inferenceBenchmark' - The details for a specific benchmark.
--
-- 'stepType', 'inferenceRecommendationsJobStep_stepType' - The type of the subtask.
--
-- @BENCHMARK@: Evaluate the performance of your model on different
-- instance types.
--
-- 'jobName', 'inferenceRecommendationsJobStep_jobName' - The name of the Inference Recommender job.
--
-- 'status', 'inferenceRecommendationsJobStep_status' - The current status of the benchmark.
newInferenceRecommendationsJobStep ::
-- | 'stepType'
RecommendationStepType ->
-- | 'jobName'
Prelude.Text ->
-- | 'status'
RecommendationJobStatus ->
InferenceRecommendationsJobStep
newInferenceRecommendationsJobStep
pStepType_
pJobName_
pStatus_ =
InferenceRecommendationsJobStep'
{ inferenceBenchmark =
Prelude.Nothing,
stepType = pStepType_,
jobName = pJobName_,
status = pStatus_
}
-- | The details for a specific benchmark.
inferenceRecommendationsJobStep_inferenceBenchmark :: Lens.Lens' InferenceRecommendationsJobStep (Prelude.Maybe RecommendationJobInferenceBenchmark)
inferenceRecommendationsJobStep_inferenceBenchmark = Lens.lens (\InferenceRecommendationsJobStep' {inferenceBenchmark} -> inferenceBenchmark) (\s@InferenceRecommendationsJobStep' {} a -> s {inferenceBenchmark = a} :: InferenceRecommendationsJobStep)
-- | The type of the subtask.
--
-- @BENCHMARK@: Evaluate the performance of your model on different
-- instance types.
inferenceRecommendationsJobStep_stepType :: Lens.Lens' InferenceRecommendationsJobStep RecommendationStepType
inferenceRecommendationsJobStep_stepType = Lens.lens (\InferenceRecommendationsJobStep' {stepType} -> stepType) (\s@InferenceRecommendationsJobStep' {} a -> s {stepType = a} :: InferenceRecommendationsJobStep)
-- | The name of the Inference Recommender job.
inferenceRecommendationsJobStep_jobName :: Lens.Lens' InferenceRecommendationsJobStep Prelude.Text
inferenceRecommendationsJobStep_jobName = Lens.lens (\InferenceRecommendationsJobStep' {jobName} -> jobName) (\s@InferenceRecommendationsJobStep' {} a -> s {jobName = a} :: InferenceRecommendationsJobStep)
-- | The current status of the benchmark.
inferenceRecommendationsJobStep_status :: Lens.Lens' InferenceRecommendationsJobStep RecommendationJobStatus
inferenceRecommendationsJobStep_status = Lens.lens (\InferenceRecommendationsJobStep' {status} -> status) (\s@InferenceRecommendationsJobStep' {} a -> s {status = a} :: InferenceRecommendationsJobStep)
instance
Data.FromJSON
InferenceRecommendationsJobStep
where
parseJSON =
Data.withObject
"InferenceRecommendationsJobStep"
( \x ->
InferenceRecommendationsJobStep'
Prelude.<$> (x Data..:? "InferenceBenchmark")
Prelude.<*> (x Data..: "StepType")
Prelude.<*> (x Data..: "JobName")
Prelude.<*> (x Data..: "Status")
)
instance
Prelude.Hashable
InferenceRecommendationsJobStep
where
hashWithSalt
_salt
InferenceRecommendationsJobStep' {..} =
_salt
`Prelude.hashWithSalt` inferenceBenchmark
`Prelude.hashWithSalt` stepType
`Prelude.hashWithSalt` jobName
`Prelude.hashWithSalt` status
instance
Prelude.NFData
InferenceRecommendationsJobStep
where
rnf InferenceRecommendationsJobStep' {..} =
Prelude.rnf inferenceBenchmark
`Prelude.seq` Prelude.rnf stepType
`Prelude.seq` Prelude.rnf jobName
`Prelude.seq` Prelude.rnf status