{-# 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.DescribeHyperParameterTuningJob
-- 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)
--
-- Gets a description of a hyperparameter tuning job.
module Amazonka.SageMaker.DescribeHyperParameterTuningJob
  ( -- * Creating a Request
    DescribeHyperParameterTuningJob (..),
    newDescribeHyperParameterTuningJob,

    -- * Request Lenses
    describeHyperParameterTuningJob_hyperParameterTuningJobName,

    -- * Destructuring the Response
    DescribeHyperParameterTuningJobResponse (..),
    newDescribeHyperParameterTuningJobResponse,

    -- * Response Lenses
    describeHyperParameterTuningJobResponse_failureReason,
    describeHyperParameterTuningJobResponse_trainingJobDefinition,
    describeHyperParameterTuningJobResponse_lastModifiedTime,
    describeHyperParameterTuningJobResponse_bestTrainingJob,
    describeHyperParameterTuningJobResponse_hyperParameterTuningEndTime,
    describeHyperParameterTuningJobResponse_overallBestTrainingJob,
    describeHyperParameterTuningJobResponse_warmStartConfig,
    describeHyperParameterTuningJobResponse_trainingJobDefinitions,
    describeHyperParameterTuningJobResponse_httpStatus,
    describeHyperParameterTuningJobResponse_hyperParameterTuningJobName,
    describeHyperParameterTuningJobResponse_hyperParameterTuningJobArn,
    describeHyperParameterTuningJobResponse_hyperParameterTuningJobConfig,
    describeHyperParameterTuningJobResponse_hyperParameterTuningJobStatus,
    describeHyperParameterTuningJobResponse_creationTime,
    describeHyperParameterTuningJobResponse_trainingJobStatusCounters,
    describeHyperParameterTuningJobResponse_objectiveStatusCounters,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SageMaker.Types

-- | /See:/ 'newDescribeHyperParameterTuningJob' smart constructor.
data DescribeHyperParameterTuningJob = DescribeHyperParameterTuningJob'
  { -- | The name of the tuning job.
    DescribeHyperParameterTuningJob -> Text
hyperParameterTuningJobName :: Prelude.Text
  }
  deriving (DescribeHyperParameterTuningJob
-> DescribeHyperParameterTuningJob -> Bool
(DescribeHyperParameterTuningJob
 -> DescribeHyperParameterTuningJob -> Bool)
-> (DescribeHyperParameterTuningJob
    -> DescribeHyperParameterTuningJob -> Bool)
-> Eq DescribeHyperParameterTuningJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeHyperParameterTuningJob
-> DescribeHyperParameterTuningJob -> Bool
$c/= :: DescribeHyperParameterTuningJob
-> DescribeHyperParameterTuningJob -> Bool
== :: DescribeHyperParameterTuningJob
-> DescribeHyperParameterTuningJob -> Bool
$c== :: DescribeHyperParameterTuningJob
-> DescribeHyperParameterTuningJob -> Bool
Prelude.Eq, ReadPrec [DescribeHyperParameterTuningJob]
ReadPrec DescribeHyperParameterTuningJob
Int -> ReadS DescribeHyperParameterTuningJob
ReadS [DescribeHyperParameterTuningJob]
(Int -> ReadS DescribeHyperParameterTuningJob)
-> ReadS [DescribeHyperParameterTuningJob]
-> ReadPrec DescribeHyperParameterTuningJob
-> ReadPrec [DescribeHyperParameterTuningJob]
-> Read DescribeHyperParameterTuningJob
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeHyperParameterTuningJob]
$creadListPrec :: ReadPrec [DescribeHyperParameterTuningJob]
readPrec :: ReadPrec DescribeHyperParameterTuningJob
$creadPrec :: ReadPrec DescribeHyperParameterTuningJob
readList :: ReadS [DescribeHyperParameterTuningJob]
$creadList :: ReadS [DescribeHyperParameterTuningJob]
readsPrec :: Int -> ReadS DescribeHyperParameterTuningJob
$creadsPrec :: Int -> ReadS DescribeHyperParameterTuningJob
Prelude.Read, Int -> DescribeHyperParameterTuningJob -> ShowS
[DescribeHyperParameterTuningJob] -> ShowS
DescribeHyperParameterTuningJob -> String
(Int -> DescribeHyperParameterTuningJob -> ShowS)
-> (DescribeHyperParameterTuningJob -> String)
-> ([DescribeHyperParameterTuningJob] -> ShowS)
-> Show DescribeHyperParameterTuningJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeHyperParameterTuningJob] -> ShowS
$cshowList :: [DescribeHyperParameterTuningJob] -> ShowS
show :: DescribeHyperParameterTuningJob -> String
$cshow :: DescribeHyperParameterTuningJob -> String
showsPrec :: Int -> DescribeHyperParameterTuningJob -> ShowS
$cshowsPrec :: Int -> DescribeHyperParameterTuningJob -> ShowS
Prelude.Show, (forall x.
 DescribeHyperParameterTuningJob
 -> Rep DescribeHyperParameterTuningJob x)
-> (forall x.
    Rep DescribeHyperParameterTuningJob x
    -> DescribeHyperParameterTuningJob)
-> Generic DescribeHyperParameterTuningJob
forall x.
Rep DescribeHyperParameterTuningJob x
-> DescribeHyperParameterTuningJob
forall x.
DescribeHyperParameterTuningJob
-> Rep DescribeHyperParameterTuningJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeHyperParameterTuningJob x
-> DescribeHyperParameterTuningJob
$cfrom :: forall x.
DescribeHyperParameterTuningJob
-> Rep DescribeHyperParameterTuningJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeHyperParameterTuningJob' 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:
--
-- 'hyperParameterTuningJobName', 'describeHyperParameterTuningJob_hyperParameterTuningJobName' - The name of the tuning job.
newDescribeHyperParameterTuningJob ::
  -- | 'hyperParameterTuningJobName'
  Prelude.Text ->
  DescribeHyperParameterTuningJob
newDescribeHyperParameterTuningJob :: Text -> DescribeHyperParameterTuningJob
newDescribeHyperParameterTuningJob
  Text
pHyperParameterTuningJobName_ =
    DescribeHyperParameterTuningJob' :: Text -> DescribeHyperParameterTuningJob
DescribeHyperParameterTuningJob'
      { $sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJob' :: Text
hyperParameterTuningJobName =
          Text
pHyperParameterTuningJobName_
      }

-- | The name of the tuning job.
describeHyperParameterTuningJob_hyperParameterTuningJobName :: Lens.Lens' DescribeHyperParameterTuningJob Prelude.Text
describeHyperParameterTuningJob_hyperParameterTuningJobName :: (Text -> f Text)
-> DescribeHyperParameterTuningJob
-> f DescribeHyperParameterTuningJob
describeHyperParameterTuningJob_hyperParameterTuningJobName = (DescribeHyperParameterTuningJob -> Text)
-> (DescribeHyperParameterTuningJob
    -> Text -> DescribeHyperParameterTuningJob)
-> Lens
     DescribeHyperParameterTuningJob
     DescribeHyperParameterTuningJob
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJob' {Text
hyperParameterTuningJobName :: Text
$sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJob' :: DescribeHyperParameterTuningJob -> Text
hyperParameterTuningJobName} -> Text
hyperParameterTuningJobName) (\s :: DescribeHyperParameterTuningJob
s@DescribeHyperParameterTuningJob' {} Text
a -> DescribeHyperParameterTuningJob
s {$sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJob' :: Text
hyperParameterTuningJobName = Text
a} :: DescribeHyperParameterTuningJob)

instance
  Core.AWSRequest
    DescribeHyperParameterTuningJob
  where
  type
    AWSResponse DescribeHyperParameterTuningJob =
      DescribeHyperParameterTuningJobResponse
  request :: DescribeHyperParameterTuningJob
-> Request DescribeHyperParameterTuningJob
request = Service
-> DescribeHyperParameterTuningJob
-> Request DescribeHyperParameterTuningJob
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeHyperParameterTuningJob
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeHyperParameterTuningJob)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeHyperParameterTuningJob))
-> Logger
-> Service
-> Proxy DescribeHyperParameterTuningJob
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse DescribeHyperParameterTuningJob)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe HyperParameterTrainingJobDefinition
-> Maybe POSIX
-> Maybe HyperParameterTrainingJobSummary
-> Maybe POSIX
-> Maybe HyperParameterTrainingJobSummary
-> Maybe HyperParameterTuningJobWarmStartConfig
-> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
-> Int
-> Text
-> Text
-> HyperParameterTuningJobConfig
-> HyperParameterTuningJobStatus
-> POSIX
-> TrainingJobStatusCounters
-> ObjectiveStatusCounters
-> DescribeHyperParameterTuningJobResponse
DescribeHyperParameterTuningJobResponse'
            (Maybe Text
 -> Maybe HyperParameterTrainingJobDefinition
 -> Maybe POSIX
 -> Maybe HyperParameterTrainingJobSummary
 -> Maybe POSIX
 -> Maybe HyperParameterTrainingJobSummary
 -> Maybe HyperParameterTuningJobWarmStartConfig
 -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
 -> Int
 -> Text
 -> Text
 -> HyperParameterTuningJobConfig
 -> HyperParameterTuningJobStatus
 -> POSIX
 -> TrainingJobStatusCounters
 -> ObjectiveStatusCounters
 -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe HyperParameterTrainingJobDefinition
      -> Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"FailureReason")
            Either
  String
  (Maybe HyperParameterTrainingJobDefinition
   -> Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe HyperParameterTrainingJobDefinition)
-> Either
     String
     (Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe HyperParameterTrainingJobDefinition)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingJobDefinition")
            Either
  String
  (Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe HyperParameterTrainingJobSummary
      -> Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastModifiedTime")
            Either
  String
  (Maybe HyperParameterTrainingJobSummary
   -> Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe HyperParameterTrainingJobSummary)
-> Either
     String
     (Maybe POSIX
      -> Maybe HyperParameterTrainingJobSummary
      -> Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe HyperParameterTrainingJobSummary)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"BestTrainingJob")
            Either
  String
  (Maybe POSIX
   -> Maybe HyperParameterTrainingJobSummary
   -> Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe HyperParameterTrainingJobSummary
      -> Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"HyperParameterTuningEndTime")
            Either
  String
  (Maybe HyperParameterTrainingJobSummary
   -> Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe HyperParameterTrainingJobSummary)
-> Either
     String
     (Maybe HyperParameterTuningJobWarmStartConfig
      -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe HyperParameterTrainingJobSummary)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"OverallBestTrainingJob")
            Either
  String
  (Maybe HyperParameterTuningJobWarmStartConfig
   -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String (Maybe HyperParameterTuningJobWarmStartConfig)
-> Either
     String
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition)
      -> Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe HyperParameterTuningJobWarmStartConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"WarmStartConfig")
            Either
  String
  (Maybe (NonEmpty HyperParameterTrainingJobDefinition)
   -> Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either
     String (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
-> Either
     String
     (Int
      -> Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either
     String (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingJobDefinitions")
            Either
  String
  (Int
   -> Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String Int
-> Either
     String
     (Text
      -> Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
            Either
  String
  (Text
   -> Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String Text
-> Either
     String
     (Text
      -> HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"HyperParameterTuningJobName")
            Either
  String
  (Text
   -> HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String Text
-> Either
     String
     (HyperParameterTuningJobConfig
      -> HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"HyperParameterTuningJobArn")
            Either
  String
  (HyperParameterTuningJobConfig
   -> HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String HyperParameterTuningJobConfig
-> Either
     String
     (HyperParameterTuningJobStatus
      -> POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String HyperParameterTuningJobConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"HyperParameterTuningJobConfig")
            Either
  String
  (HyperParameterTuningJobStatus
   -> POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String HyperParameterTuningJobStatus
-> Either
     String
     (POSIX
      -> TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String HyperParameterTuningJobStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"HyperParameterTuningJobStatus")
            Either
  String
  (POSIX
   -> TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String POSIX
-> Either
     String
     (TrainingJobStatusCounters
      -> ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"CreationTime")
            Either
  String
  (TrainingJobStatusCounters
   -> ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String TrainingJobStatusCounters
-> Either
     String
     (ObjectiveStatusCounters
      -> DescribeHyperParameterTuningJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String TrainingJobStatusCounters
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"TrainingJobStatusCounters")
            Either
  String
  (ObjectiveStatusCounters
   -> DescribeHyperParameterTuningJobResponse)
-> Either String ObjectiveStatusCounters
-> Either String DescribeHyperParameterTuningJobResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ObjectiveStatusCounters
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ObjectiveStatusCounters")
      )

instance
  Prelude.Hashable
    DescribeHyperParameterTuningJob

instance
  Prelude.NFData
    DescribeHyperParameterTuningJob

instance
  Core.ToHeaders
    DescribeHyperParameterTuningJob
  where
  toHeaders :: DescribeHyperParameterTuningJob -> ResponseHeaders
toHeaders =
    ResponseHeaders
-> DescribeHyperParameterTuningJob -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"SageMaker.DescribeHyperParameterTuningJob" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON DescribeHyperParameterTuningJob where
  toJSON :: DescribeHyperParameterTuningJob -> Value
toJSON DescribeHyperParameterTuningJob' {Text
hyperParameterTuningJobName :: Text
$sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJob' :: DescribeHyperParameterTuningJob -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"HyperParameterTuningJobName"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
hyperParameterTuningJobName
              )
          ]
      )

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

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

-- | /See:/ 'newDescribeHyperParameterTuningJobResponse' smart constructor.
data DescribeHyperParameterTuningJobResponse = DescribeHyperParameterTuningJobResponse'
  { -- | If the tuning job failed, the reason it failed.
    DescribeHyperParameterTuningJobResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The HyperParameterTrainingJobDefinition object that specifies the
    -- definition of the training jobs that this tuning job launches.
    DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition :: Prelude.Maybe HyperParameterTrainingJobDefinition,
    -- | The date and time that the status of the tuning job was modified.
    DescribeHyperParameterTuningJobResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | A TrainingJobSummary object that describes the training job that
    -- completed with the best current HyperParameterTuningJobObjective.
    DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobSummary
bestTrainingJob :: Prelude.Maybe HyperParameterTrainingJobSummary,
    -- | The date and time that the tuning job ended.
    DescribeHyperParameterTuningJobResponse -> Maybe POSIX
hyperParameterTuningEndTime :: Prelude.Maybe Core.POSIX,
    -- | If the hyperparameter tuning job is an warm start tuning job with a
    -- @WarmStartType@ of @IDENTICAL_DATA_AND_ALGORITHM@, this is the
    -- TrainingJobSummary for the training job with the best objective metric
    -- value of all training jobs launched by this tuning job and all parent
    -- jobs specified for the warm start tuning job.
    DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob :: Prelude.Maybe HyperParameterTrainingJobSummary,
    -- | The configuration for starting the hyperparameter parameter tuning job
    -- using one or more previous tuning jobs as a starting point. The results
    -- of previous tuning jobs are used to inform which combinations of
    -- hyperparameters to search over in the new tuning job.
    DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig :: Prelude.Maybe HyperParameterTuningJobWarmStartConfig,
    -- | A list of the HyperParameterTrainingJobDefinition objects launched for
    -- this tuning job.
    DescribeHyperParameterTuningJobResponse
-> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions :: Prelude.Maybe (Prelude.NonEmpty HyperParameterTrainingJobDefinition),
    -- | The response's http status code.
    DescribeHyperParameterTuningJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The name of the tuning job.
    DescribeHyperParameterTuningJobResponse -> Text
hyperParameterTuningJobName :: Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the tuning job.
    DescribeHyperParameterTuningJobResponse -> Text
hyperParameterTuningJobArn :: Prelude.Text,
    -- | The HyperParameterTuningJobConfig object that specifies the
    -- configuration of the tuning job.
    DescribeHyperParameterTuningJobResponse
-> HyperParameterTuningJobConfig
hyperParameterTuningJobConfig :: HyperParameterTuningJobConfig,
    -- | The status of the tuning job: InProgress, Completed, Failed, Stopping,
    -- or Stopped.
    DescribeHyperParameterTuningJobResponse
-> HyperParameterTuningJobStatus
hyperParameterTuningJobStatus :: HyperParameterTuningJobStatus,
    -- | The date and time that the tuning job started.
    DescribeHyperParameterTuningJobResponse -> POSIX
creationTime :: Core.POSIX,
    -- | The TrainingJobStatusCounters object that specifies the number of
    -- training jobs, categorized by status, that this tuning job launched.
    DescribeHyperParameterTuningJobResponse
-> TrainingJobStatusCounters
trainingJobStatusCounters :: TrainingJobStatusCounters,
    -- | The ObjectiveStatusCounters object that specifies the number of training
    -- jobs, categorized by the status of their final objective metric, that
    -- this tuning job launched.
    DescribeHyperParameterTuningJobResponse -> ObjectiveStatusCounters
objectiveStatusCounters :: ObjectiveStatusCounters
  }
  deriving (DescribeHyperParameterTuningJobResponse
-> DescribeHyperParameterTuningJobResponse -> Bool
(DescribeHyperParameterTuningJobResponse
 -> DescribeHyperParameterTuningJobResponse -> Bool)
-> (DescribeHyperParameterTuningJobResponse
    -> DescribeHyperParameterTuningJobResponse -> Bool)
-> Eq DescribeHyperParameterTuningJobResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeHyperParameterTuningJobResponse
-> DescribeHyperParameterTuningJobResponse -> Bool
$c/= :: DescribeHyperParameterTuningJobResponse
-> DescribeHyperParameterTuningJobResponse -> Bool
== :: DescribeHyperParameterTuningJobResponse
-> DescribeHyperParameterTuningJobResponse -> Bool
$c== :: DescribeHyperParameterTuningJobResponse
-> DescribeHyperParameterTuningJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeHyperParameterTuningJobResponse]
ReadPrec DescribeHyperParameterTuningJobResponse
Int -> ReadS DescribeHyperParameterTuningJobResponse
ReadS [DescribeHyperParameterTuningJobResponse]
(Int -> ReadS DescribeHyperParameterTuningJobResponse)
-> ReadS [DescribeHyperParameterTuningJobResponse]
-> ReadPrec DescribeHyperParameterTuningJobResponse
-> ReadPrec [DescribeHyperParameterTuningJobResponse]
-> Read DescribeHyperParameterTuningJobResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeHyperParameterTuningJobResponse]
$creadListPrec :: ReadPrec [DescribeHyperParameterTuningJobResponse]
readPrec :: ReadPrec DescribeHyperParameterTuningJobResponse
$creadPrec :: ReadPrec DescribeHyperParameterTuningJobResponse
readList :: ReadS [DescribeHyperParameterTuningJobResponse]
$creadList :: ReadS [DescribeHyperParameterTuningJobResponse]
readsPrec :: Int -> ReadS DescribeHyperParameterTuningJobResponse
$creadsPrec :: Int -> ReadS DescribeHyperParameterTuningJobResponse
Prelude.Read, Int -> DescribeHyperParameterTuningJobResponse -> ShowS
[DescribeHyperParameterTuningJobResponse] -> ShowS
DescribeHyperParameterTuningJobResponse -> String
(Int -> DescribeHyperParameterTuningJobResponse -> ShowS)
-> (DescribeHyperParameterTuningJobResponse -> String)
-> ([DescribeHyperParameterTuningJobResponse] -> ShowS)
-> Show DescribeHyperParameterTuningJobResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeHyperParameterTuningJobResponse] -> ShowS
$cshowList :: [DescribeHyperParameterTuningJobResponse] -> ShowS
show :: DescribeHyperParameterTuningJobResponse -> String
$cshow :: DescribeHyperParameterTuningJobResponse -> String
showsPrec :: Int -> DescribeHyperParameterTuningJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeHyperParameterTuningJobResponse -> ShowS
Prelude.Show, (forall x.
 DescribeHyperParameterTuningJobResponse
 -> Rep DescribeHyperParameterTuningJobResponse x)
-> (forall x.
    Rep DescribeHyperParameterTuningJobResponse x
    -> DescribeHyperParameterTuningJobResponse)
-> Generic DescribeHyperParameterTuningJobResponse
forall x.
Rep DescribeHyperParameterTuningJobResponse x
-> DescribeHyperParameterTuningJobResponse
forall x.
DescribeHyperParameterTuningJobResponse
-> Rep DescribeHyperParameterTuningJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeHyperParameterTuningJobResponse x
-> DescribeHyperParameterTuningJobResponse
$cfrom :: forall x.
DescribeHyperParameterTuningJobResponse
-> Rep DescribeHyperParameterTuningJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeHyperParameterTuningJobResponse' 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:
--
-- 'failureReason', 'describeHyperParameterTuningJobResponse_failureReason' - If the tuning job failed, the reason it failed.
--
-- 'trainingJobDefinition', 'describeHyperParameterTuningJobResponse_trainingJobDefinition' - The HyperParameterTrainingJobDefinition object that specifies the
-- definition of the training jobs that this tuning job launches.
--
-- 'lastModifiedTime', 'describeHyperParameterTuningJobResponse_lastModifiedTime' - The date and time that the status of the tuning job was modified.
--
-- 'bestTrainingJob', 'describeHyperParameterTuningJobResponse_bestTrainingJob' - A TrainingJobSummary object that describes the training job that
-- completed with the best current HyperParameterTuningJobObjective.
--
-- 'hyperParameterTuningEndTime', 'describeHyperParameterTuningJobResponse_hyperParameterTuningEndTime' - The date and time that the tuning job ended.
--
-- 'overallBestTrainingJob', 'describeHyperParameterTuningJobResponse_overallBestTrainingJob' - If the hyperparameter tuning job is an warm start tuning job with a
-- @WarmStartType@ of @IDENTICAL_DATA_AND_ALGORITHM@, this is the
-- TrainingJobSummary for the training job with the best objective metric
-- value of all training jobs launched by this tuning job and all parent
-- jobs specified for the warm start tuning job.
--
-- 'warmStartConfig', 'describeHyperParameterTuningJobResponse_warmStartConfig' - The configuration for starting the hyperparameter parameter tuning job
-- using one or more previous tuning jobs as a starting point. The results
-- of previous tuning jobs are used to inform which combinations of
-- hyperparameters to search over in the new tuning job.
--
-- 'trainingJobDefinitions', 'describeHyperParameterTuningJobResponse_trainingJobDefinitions' - A list of the HyperParameterTrainingJobDefinition objects launched for
-- this tuning job.
--
-- 'httpStatus', 'describeHyperParameterTuningJobResponse_httpStatus' - The response's http status code.
--
-- 'hyperParameterTuningJobName', 'describeHyperParameterTuningJobResponse_hyperParameterTuningJobName' - The name of the tuning job.
--
-- 'hyperParameterTuningJobArn', 'describeHyperParameterTuningJobResponse_hyperParameterTuningJobArn' - The Amazon Resource Name (ARN) of the tuning job.
--
-- 'hyperParameterTuningJobConfig', 'describeHyperParameterTuningJobResponse_hyperParameterTuningJobConfig' - The HyperParameterTuningJobConfig object that specifies the
-- configuration of the tuning job.
--
-- 'hyperParameterTuningJobStatus', 'describeHyperParameterTuningJobResponse_hyperParameterTuningJobStatus' - The status of the tuning job: InProgress, Completed, Failed, Stopping,
-- or Stopped.
--
-- 'creationTime', 'describeHyperParameterTuningJobResponse_creationTime' - The date and time that the tuning job started.
--
-- 'trainingJobStatusCounters', 'describeHyperParameterTuningJobResponse_trainingJobStatusCounters' - The TrainingJobStatusCounters object that specifies the number of
-- training jobs, categorized by status, that this tuning job launched.
--
-- 'objectiveStatusCounters', 'describeHyperParameterTuningJobResponse_objectiveStatusCounters' - The ObjectiveStatusCounters object that specifies the number of training
-- jobs, categorized by the status of their final objective metric, that
-- this tuning job launched.
newDescribeHyperParameterTuningJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'hyperParameterTuningJobName'
  Prelude.Text ->
  -- | 'hyperParameterTuningJobArn'
  Prelude.Text ->
  -- | 'hyperParameterTuningJobConfig'
  HyperParameterTuningJobConfig ->
  -- | 'hyperParameterTuningJobStatus'
  HyperParameterTuningJobStatus ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'trainingJobStatusCounters'
  TrainingJobStatusCounters ->
  -- | 'objectiveStatusCounters'
  ObjectiveStatusCounters ->
  DescribeHyperParameterTuningJobResponse
newDescribeHyperParameterTuningJobResponse :: Int
-> Text
-> Text
-> HyperParameterTuningJobConfig
-> HyperParameterTuningJobStatus
-> UTCTime
-> TrainingJobStatusCounters
-> ObjectiveStatusCounters
-> DescribeHyperParameterTuningJobResponse
newDescribeHyperParameterTuningJobResponse
  Int
pHttpStatus_
  Text
pHyperParameterTuningJobName_
  Text
pHyperParameterTuningJobArn_
  HyperParameterTuningJobConfig
pHyperParameterTuningJobConfig_
  HyperParameterTuningJobStatus
pHyperParameterTuningJobStatus_
  UTCTime
pCreationTime_
  TrainingJobStatusCounters
pTrainingJobStatusCounters_
  ObjectiveStatusCounters
pObjectiveStatusCounters_ =
    DescribeHyperParameterTuningJobResponse' :: Maybe Text
-> Maybe HyperParameterTrainingJobDefinition
-> Maybe POSIX
-> Maybe HyperParameterTrainingJobSummary
-> Maybe POSIX
-> Maybe HyperParameterTrainingJobSummary
-> Maybe HyperParameterTuningJobWarmStartConfig
-> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
-> Int
-> Text
-> Text
-> HyperParameterTuningJobConfig
-> HyperParameterTuningJobStatus
-> POSIX
-> TrainingJobStatusCounters
-> ObjectiveStatusCounters
-> DescribeHyperParameterTuningJobResponse
DescribeHyperParameterTuningJobResponse'
      { $sel:failureReason:DescribeHyperParameterTuningJobResponse' :: Maybe Text
failureReason =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:trainingJobDefinition:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition =
          Maybe HyperParameterTrainingJobDefinition
forall a. Maybe a
Prelude.Nothing,
        $sel:lastModifiedTime:DescribeHyperParameterTuningJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:bestTrainingJob:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobSummary
bestTrainingJob = Maybe HyperParameterTrainingJobSummary
forall a. Maybe a
Prelude.Nothing,
        $sel:hyperParameterTuningEndTime:DescribeHyperParameterTuningJobResponse' :: Maybe POSIX
hyperParameterTuningEndTime =
          Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:overallBestTrainingJob:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob =
          Maybe HyperParameterTrainingJobSummary
forall a. Maybe a
Prelude.Nothing,
        $sel:warmStartConfig:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig = Maybe HyperParameterTuningJobWarmStartConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:trainingJobDefinitions:DescribeHyperParameterTuningJobResponse' :: Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions =
          Maybe (NonEmpty HyperParameterTrainingJobDefinition)
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeHyperParameterTuningJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJobResponse' :: Text
hyperParameterTuningJobName =
          Text
pHyperParameterTuningJobName_,
        $sel:hyperParameterTuningJobArn:DescribeHyperParameterTuningJobResponse' :: Text
hyperParameterTuningJobArn =
          Text
pHyperParameterTuningJobArn_,
        $sel:hyperParameterTuningJobConfig:DescribeHyperParameterTuningJobResponse' :: HyperParameterTuningJobConfig
hyperParameterTuningJobConfig =
          HyperParameterTuningJobConfig
pHyperParameterTuningJobConfig_,
        $sel:hyperParameterTuningJobStatus:DescribeHyperParameterTuningJobResponse' :: HyperParameterTuningJobStatus
hyperParameterTuningJobStatus =
          HyperParameterTuningJobStatus
pHyperParameterTuningJobStatus_,
        $sel:creationTime:DescribeHyperParameterTuningJobResponse' :: POSIX
creationTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:trainingJobStatusCounters:DescribeHyperParameterTuningJobResponse' :: TrainingJobStatusCounters
trainingJobStatusCounters =
          TrainingJobStatusCounters
pTrainingJobStatusCounters_,
        $sel:objectiveStatusCounters:DescribeHyperParameterTuningJobResponse' :: ObjectiveStatusCounters
objectiveStatusCounters =
          ObjectiveStatusCounters
pObjectiveStatusCounters_
      }

-- | If the tuning job failed, the reason it failed.
describeHyperParameterTuningJobResponse_failureReason :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe Prelude.Text)
describeHyperParameterTuningJobResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_failureReason = (DescribeHyperParameterTuningJobResponse -> Maybe Text)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe Text -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe Text
a -> DescribeHyperParameterTuningJobResponse
s {$sel:failureReason:DescribeHyperParameterTuningJobResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeHyperParameterTuningJobResponse)

-- | The HyperParameterTrainingJobDefinition object that specifies the
-- definition of the training jobs that this tuning job launches.
describeHyperParameterTuningJobResponse_trainingJobDefinition :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe HyperParameterTrainingJobDefinition)
describeHyperParameterTuningJobResponse_trainingJobDefinition :: (Maybe HyperParameterTrainingJobDefinition
 -> f (Maybe HyperParameterTrainingJobDefinition))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_trainingJobDefinition = (DescribeHyperParameterTuningJobResponse
 -> Maybe HyperParameterTrainingJobDefinition)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe HyperParameterTrainingJobDefinition
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe HyperParameterTrainingJobDefinition)
     (Maybe HyperParameterTrainingJobDefinition)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition :: Maybe HyperParameterTrainingJobDefinition
$sel:trainingJobDefinition:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition} -> Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe HyperParameterTrainingJobDefinition
a -> DescribeHyperParameterTuningJobResponse
s {$sel:trainingJobDefinition:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobDefinition
trainingJobDefinition = Maybe HyperParameterTrainingJobDefinition
a} :: DescribeHyperParameterTuningJobResponse)

-- | The date and time that the status of the tuning job was modified.
describeHyperParameterTuningJobResponse_lastModifiedTime :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe Prelude.UTCTime)
describeHyperParameterTuningJobResponse_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_lastModifiedTime = (DescribeHyperParameterTuningJobResponse -> Maybe POSIX)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe POSIX -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe POSIX
a -> DescribeHyperParameterTuningJobResponse
s {$sel:lastModifiedTime:DescribeHyperParameterTuningJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeHyperParameterTuningJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeHyperParameterTuningJobResponse
 -> f DescribeHyperParameterTuningJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | A TrainingJobSummary object that describes the training job that
-- completed with the best current HyperParameterTuningJobObjective.
describeHyperParameterTuningJobResponse_bestTrainingJob :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe HyperParameterTrainingJobSummary)
describeHyperParameterTuningJobResponse_bestTrainingJob :: (Maybe HyperParameterTrainingJobSummary
 -> f (Maybe HyperParameterTrainingJobSummary))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_bestTrainingJob = (DescribeHyperParameterTuningJobResponse
 -> Maybe HyperParameterTrainingJobSummary)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe HyperParameterTrainingJobSummary
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe HyperParameterTrainingJobSummary)
     (Maybe HyperParameterTrainingJobSummary)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe HyperParameterTrainingJobSummary
bestTrainingJob :: Maybe HyperParameterTrainingJobSummary
$sel:bestTrainingJob:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobSummary
bestTrainingJob} -> Maybe HyperParameterTrainingJobSummary
bestTrainingJob) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe HyperParameterTrainingJobSummary
a -> DescribeHyperParameterTuningJobResponse
s {$sel:bestTrainingJob:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobSummary
bestTrainingJob = Maybe HyperParameterTrainingJobSummary
a} :: DescribeHyperParameterTuningJobResponse)

-- | The date and time that the tuning job ended.
describeHyperParameterTuningJobResponse_hyperParameterTuningEndTime :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe Prelude.UTCTime)
describeHyperParameterTuningJobResponse_hyperParameterTuningEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_hyperParameterTuningEndTime = (DescribeHyperParameterTuningJobResponse -> Maybe POSIX)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe POSIX -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe POSIX
hyperParameterTuningEndTime :: Maybe POSIX
$sel:hyperParameterTuningEndTime:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> Maybe POSIX
hyperParameterTuningEndTime} -> Maybe POSIX
hyperParameterTuningEndTime) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe POSIX
a -> DescribeHyperParameterTuningJobResponse
s {$sel:hyperParameterTuningEndTime:DescribeHyperParameterTuningJobResponse' :: Maybe POSIX
hyperParameterTuningEndTime = Maybe POSIX
a} :: DescribeHyperParameterTuningJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeHyperParameterTuningJobResponse
 -> f DescribeHyperParameterTuningJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | If the hyperparameter tuning job is an warm start tuning job with a
-- @WarmStartType@ of @IDENTICAL_DATA_AND_ALGORITHM@, this is the
-- TrainingJobSummary for the training job with the best objective metric
-- value of all training jobs launched by this tuning job and all parent
-- jobs specified for the warm start tuning job.
describeHyperParameterTuningJobResponse_overallBestTrainingJob :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe HyperParameterTrainingJobSummary)
describeHyperParameterTuningJobResponse_overallBestTrainingJob :: (Maybe HyperParameterTrainingJobSummary
 -> f (Maybe HyperParameterTrainingJobSummary))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_overallBestTrainingJob = (DescribeHyperParameterTuningJobResponse
 -> Maybe HyperParameterTrainingJobSummary)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe HyperParameterTrainingJobSummary
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe HyperParameterTrainingJobSummary)
     (Maybe HyperParameterTrainingJobSummary)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob :: Maybe HyperParameterTrainingJobSummary
$sel:overallBestTrainingJob:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob} -> Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe HyperParameterTrainingJobSummary
a -> DescribeHyperParameterTuningJobResponse
s {$sel:overallBestTrainingJob:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTrainingJobSummary
overallBestTrainingJob = Maybe HyperParameterTrainingJobSummary
a} :: DescribeHyperParameterTuningJobResponse)

-- | The configuration for starting the hyperparameter parameter tuning job
-- using one or more previous tuning jobs as a starting point. The results
-- of previous tuning jobs are used to inform which combinations of
-- hyperparameters to search over in the new tuning job.
describeHyperParameterTuningJobResponse_warmStartConfig :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe HyperParameterTuningJobWarmStartConfig)
describeHyperParameterTuningJobResponse_warmStartConfig :: (Maybe HyperParameterTuningJobWarmStartConfig
 -> f (Maybe HyperParameterTuningJobWarmStartConfig))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_warmStartConfig = (DescribeHyperParameterTuningJobResponse
 -> Maybe HyperParameterTuningJobWarmStartConfig)
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe HyperParameterTuningJobWarmStartConfig
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe HyperParameterTuningJobWarmStartConfig)
     (Maybe HyperParameterTuningJobWarmStartConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig :: Maybe HyperParameterTuningJobWarmStartConfig
$sel:warmStartConfig:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig} -> Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe HyperParameterTuningJobWarmStartConfig
a -> DescribeHyperParameterTuningJobResponse
s {$sel:warmStartConfig:DescribeHyperParameterTuningJobResponse' :: Maybe HyperParameterTuningJobWarmStartConfig
warmStartConfig = Maybe HyperParameterTuningJobWarmStartConfig
a} :: DescribeHyperParameterTuningJobResponse)

-- | A list of the HyperParameterTrainingJobDefinition objects launched for
-- this tuning job.
describeHyperParameterTuningJobResponse_trainingJobDefinitions :: Lens.Lens' DescribeHyperParameterTuningJobResponse (Prelude.Maybe (Prelude.NonEmpty HyperParameterTrainingJobDefinition))
describeHyperParameterTuningJobResponse_trainingJobDefinitions :: (Maybe (NonEmpty HyperParameterTrainingJobDefinition)
 -> f (Maybe (NonEmpty HyperParameterTrainingJobDefinition)))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_trainingJobDefinitions = (DescribeHyperParameterTuningJobResponse
 -> Maybe (NonEmpty HyperParameterTrainingJobDefinition))
-> (DescribeHyperParameterTuningJobResponse
    -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions :: Maybe (NonEmpty HyperParameterTrainingJobDefinition)
$sel:trainingJobDefinitions:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions} -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Maybe (NonEmpty HyperParameterTrainingJobDefinition)
a -> DescribeHyperParameterTuningJobResponse
s {$sel:trainingJobDefinitions:DescribeHyperParameterTuningJobResponse' :: Maybe (NonEmpty HyperParameterTrainingJobDefinition)
trainingJobDefinitions = Maybe (NonEmpty HyperParameterTrainingJobDefinition)
a} :: DescribeHyperParameterTuningJobResponse) ((Maybe (NonEmpty HyperParameterTrainingJobDefinition)
  -> f (Maybe (NonEmpty HyperParameterTrainingJobDefinition)))
 -> DescribeHyperParameterTuningJobResponse
 -> f DescribeHyperParameterTuningJobResponse)
-> ((Maybe (NonEmpty HyperParameterTrainingJobDefinition)
     -> f (Maybe (NonEmpty HyperParameterTrainingJobDefinition)))
    -> Maybe (NonEmpty HyperParameterTrainingJobDefinition)
    -> f (Maybe (NonEmpty HyperParameterTrainingJobDefinition)))
-> (Maybe (NonEmpty HyperParameterTrainingJobDefinition)
    -> f (Maybe (NonEmpty HyperParameterTrainingJobDefinition)))
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
-> Iso
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
     (Maybe (NonEmpty HyperParameterTrainingJobDefinition))
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 AnIso
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
  (NonEmpty HyperParameterTrainingJobDefinition)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

-- | The name of the tuning job.
describeHyperParameterTuningJobResponse_hyperParameterTuningJobName :: Lens.Lens' DescribeHyperParameterTuningJobResponse Prelude.Text
describeHyperParameterTuningJobResponse_hyperParameterTuningJobName :: (Text -> f Text)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_hyperParameterTuningJobName = (DescribeHyperParameterTuningJobResponse -> Text)
-> (DescribeHyperParameterTuningJobResponse
    -> Text -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Text
hyperParameterTuningJobName :: Text
$sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> Text
hyperParameterTuningJobName} -> Text
hyperParameterTuningJobName) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Text
a -> DescribeHyperParameterTuningJobResponse
s {$sel:hyperParameterTuningJobName:DescribeHyperParameterTuningJobResponse' :: Text
hyperParameterTuningJobName = Text
a} :: DescribeHyperParameterTuningJobResponse)

-- | The Amazon Resource Name (ARN) of the tuning job.
describeHyperParameterTuningJobResponse_hyperParameterTuningJobArn :: Lens.Lens' DescribeHyperParameterTuningJobResponse Prelude.Text
describeHyperParameterTuningJobResponse_hyperParameterTuningJobArn :: (Text -> f Text)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_hyperParameterTuningJobArn = (DescribeHyperParameterTuningJobResponse -> Text)
-> (DescribeHyperParameterTuningJobResponse
    -> Text -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {Text
hyperParameterTuningJobArn :: Text
$sel:hyperParameterTuningJobArn:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> Text
hyperParameterTuningJobArn} -> Text
hyperParameterTuningJobArn) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} Text
a -> DescribeHyperParameterTuningJobResponse
s {$sel:hyperParameterTuningJobArn:DescribeHyperParameterTuningJobResponse' :: Text
hyperParameterTuningJobArn = Text
a} :: DescribeHyperParameterTuningJobResponse)

-- | The HyperParameterTuningJobConfig object that specifies the
-- configuration of the tuning job.
describeHyperParameterTuningJobResponse_hyperParameterTuningJobConfig :: Lens.Lens' DescribeHyperParameterTuningJobResponse HyperParameterTuningJobConfig
describeHyperParameterTuningJobResponse_hyperParameterTuningJobConfig :: (HyperParameterTuningJobConfig -> f HyperParameterTuningJobConfig)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_hyperParameterTuningJobConfig = (DescribeHyperParameterTuningJobResponse
 -> HyperParameterTuningJobConfig)
-> (DescribeHyperParameterTuningJobResponse
    -> HyperParameterTuningJobConfig
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     HyperParameterTuningJobConfig
     HyperParameterTuningJobConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {HyperParameterTuningJobConfig
hyperParameterTuningJobConfig :: HyperParameterTuningJobConfig
$sel:hyperParameterTuningJobConfig:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> HyperParameterTuningJobConfig
hyperParameterTuningJobConfig} -> HyperParameterTuningJobConfig
hyperParameterTuningJobConfig) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} HyperParameterTuningJobConfig
a -> DescribeHyperParameterTuningJobResponse
s {$sel:hyperParameterTuningJobConfig:DescribeHyperParameterTuningJobResponse' :: HyperParameterTuningJobConfig
hyperParameterTuningJobConfig = HyperParameterTuningJobConfig
a} :: DescribeHyperParameterTuningJobResponse)

-- | The status of the tuning job: InProgress, Completed, Failed, Stopping,
-- or Stopped.
describeHyperParameterTuningJobResponse_hyperParameterTuningJobStatus :: Lens.Lens' DescribeHyperParameterTuningJobResponse HyperParameterTuningJobStatus
describeHyperParameterTuningJobResponse_hyperParameterTuningJobStatus :: (HyperParameterTuningJobStatus -> f HyperParameterTuningJobStatus)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_hyperParameterTuningJobStatus = (DescribeHyperParameterTuningJobResponse
 -> HyperParameterTuningJobStatus)
-> (DescribeHyperParameterTuningJobResponse
    -> HyperParameterTuningJobStatus
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     HyperParameterTuningJobStatus
     HyperParameterTuningJobStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {HyperParameterTuningJobStatus
hyperParameterTuningJobStatus :: HyperParameterTuningJobStatus
$sel:hyperParameterTuningJobStatus:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> HyperParameterTuningJobStatus
hyperParameterTuningJobStatus} -> HyperParameterTuningJobStatus
hyperParameterTuningJobStatus) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} HyperParameterTuningJobStatus
a -> DescribeHyperParameterTuningJobResponse
s {$sel:hyperParameterTuningJobStatus:DescribeHyperParameterTuningJobResponse' :: HyperParameterTuningJobStatus
hyperParameterTuningJobStatus = HyperParameterTuningJobStatus
a} :: DescribeHyperParameterTuningJobResponse)

-- | The date and time that the tuning job started.
describeHyperParameterTuningJobResponse_creationTime :: Lens.Lens' DescribeHyperParameterTuningJobResponse Prelude.UTCTime
describeHyperParameterTuningJobResponse_creationTime :: (UTCTime -> f UTCTime)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_creationTime = (DescribeHyperParameterTuningJobResponse -> POSIX)
-> (DescribeHyperParameterTuningJobResponse
    -> POSIX -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     POSIX
     POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} POSIX
a -> DescribeHyperParameterTuningJobResponse
s {$sel:creationTime:DescribeHyperParameterTuningJobResponse' :: POSIX
creationTime = POSIX
a} :: DescribeHyperParameterTuningJobResponse) ((POSIX -> f POSIX)
 -> DescribeHyperParameterTuningJobResponse
 -> f DescribeHyperParameterTuningJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The TrainingJobStatusCounters object that specifies the number of
-- training jobs, categorized by status, that this tuning job launched.
describeHyperParameterTuningJobResponse_trainingJobStatusCounters :: Lens.Lens' DescribeHyperParameterTuningJobResponse TrainingJobStatusCounters
describeHyperParameterTuningJobResponse_trainingJobStatusCounters :: (TrainingJobStatusCounters -> f TrainingJobStatusCounters)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_trainingJobStatusCounters = (DescribeHyperParameterTuningJobResponse
 -> TrainingJobStatusCounters)
-> (DescribeHyperParameterTuningJobResponse
    -> TrainingJobStatusCounters
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     TrainingJobStatusCounters
     TrainingJobStatusCounters
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {TrainingJobStatusCounters
trainingJobStatusCounters :: TrainingJobStatusCounters
$sel:trainingJobStatusCounters:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse
-> TrainingJobStatusCounters
trainingJobStatusCounters} -> TrainingJobStatusCounters
trainingJobStatusCounters) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} TrainingJobStatusCounters
a -> DescribeHyperParameterTuningJobResponse
s {$sel:trainingJobStatusCounters:DescribeHyperParameterTuningJobResponse' :: TrainingJobStatusCounters
trainingJobStatusCounters = TrainingJobStatusCounters
a} :: DescribeHyperParameterTuningJobResponse)

-- | The ObjectiveStatusCounters object that specifies the number of training
-- jobs, categorized by the status of their final objective metric, that
-- this tuning job launched.
describeHyperParameterTuningJobResponse_objectiveStatusCounters :: Lens.Lens' DescribeHyperParameterTuningJobResponse ObjectiveStatusCounters
describeHyperParameterTuningJobResponse_objectiveStatusCounters :: (ObjectiveStatusCounters -> f ObjectiveStatusCounters)
-> DescribeHyperParameterTuningJobResponse
-> f DescribeHyperParameterTuningJobResponse
describeHyperParameterTuningJobResponse_objectiveStatusCounters = (DescribeHyperParameterTuningJobResponse
 -> ObjectiveStatusCounters)
-> (DescribeHyperParameterTuningJobResponse
    -> ObjectiveStatusCounters
    -> DescribeHyperParameterTuningJobResponse)
-> Lens
     DescribeHyperParameterTuningJobResponse
     DescribeHyperParameterTuningJobResponse
     ObjectiveStatusCounters
     ObjectiveStatusCounters
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeHyperParameterTuningJobResponse' {ObjectiveStatusCounters
objectiveStatusCounters :: ObjectiveStatusCounters
$sel:objectiveStatusCounters:DescribeHyperParameterTuningJobResponse' :: DescribeHyperParameterTuningJobResponse -> ObjectiveStatusCounters
objectiveStatusCounters} -> ObjectiveStatusCounters
objectiveStatusCounters) (\s :: DescribeHyperParameterTuningJobResponse
s@DescribeHyperParameterTuningJobResponse' {} ObjectiveStatusCounters
a -> DescribeHyperParameterTuningJobResponse
s {$sel:objectiveStatusCounters:DescribeHyperParameterTuningJobResponse' :: ObjectiveStatusCounters
objectiveStatusCounters = ObjectiveStatusCounters
a} :: DescribeHyperParameterTuningJobResponse)

instance
  Prelude.NFData
    DescribeHyperParameterTuningJobResponse