{-# 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.DescribeAutoMLJob
-- 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)
--
-- Returns information about an Amazon SageMaker AutoML job.
module Amazonka.SageMaker.DescribeAutoMLJob
  ( -- * Creating a Request
    DescribeAutoMLJob (..),
    newDescribeAutoMLJob,

    -- * Request Lenses
    describeAutoMLJob_autoMLJobName,

    -- * Destructuring the Response
    DescribeAutoMLJobResponse (..),
    newDescribeAutoMLJobResponse,

    -- * Response Lenses
    describeAutoMLJobResponse_generateCandidateDefinitionsOnly,
    describeAutoMLJobResponse_failureReason,
    describeAutoMLJobResponse_partialFailureReasons,
    describeAutoMLJobResponse_modelDeployResult,
    describeAutoMLJobResponse_problemType,
    describeAutoMLJobResponse_autoMLJobConfig,
    describeAutoMLJobResponse_autoMLJobObjective,
    describeAutoMLJobResponse_autoMLJobArtifacts,
    describeAutoMLJobResponse_resolvedAttributes,
    describeAutoMLJobResponse_endTime,
    describeAutoMLJobResponse_bestCandidate,
    describeAutoMLJobResponse_modelDeployConfig,
    describeAutoMLJobResponse_httpStatus,
    describeAutoMLJobResponse_autoMLJobName,
    describeAutoMLJobResponse_autoMLJobArn,
    describeAutoMLJobResponse_inputDataConfig,
    describeAutoMLJobResponse_outputDataConfig,
    describeAutoMLJobResponse_roleArn,
    describeAutoMLJobResponse_creationTime,
    describeAutoMLJobResponse_lastModifiedTime,
    describeAutoMLJobResponse_autoMLJobStatus,
    describeAutoMLJobResponse_autoMLJobSecondaryStatus,
  )
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:/ 'newDescribeAutoMLJob' smart constructor.
data DescribeAutoMLJob = DescribeAutoMLJob'
  { -- | Requests information about an AutoML job using its unique name.
    DescribeAutoMLJob -> Text
autoMLJobName :: Prelude.Text
  }
  deriving (DescribeAutoMLJob -> DescribeAutoMLJob -> Bool
(DescribeAutoMLJob -> DescribeAutoMLJob -> Bool)
-> (DescribeAutoMLJob -> DescribeAutoMLJob -> Bool)
-> Eq DescribeAutoMLJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAutoMLJob -> DescribeAutoMLJob -> Bool
$c/= :: DescribeAutoMLJob -> DescribeAutoMLJob -> Bool
== :: DescribeAutoMLJob -> DescribeAutoMLJob -> Bool
$c== :: DescribeAutoMLJob -> DescribeAutoMLJob -> Bool
Prelude.Eq, ReadPrec [DescribeAutoMLJob]
ReadPrec DescribeAutoMLJob
Int -> ReadS DescribeAutoMLJob
ReadS [DescribeAutoMLJob]
(Int -> ReadS DescribeAutoMLJob)
-> ReadS [DescribeAutoMLJob]
-> ReadPrec DescribeAutoMLJob
-> ReadPrec [DescribeAutoMLJob]
-> Read DescribeAutoMLJob
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAutoMLJob]
$creadListPrec :: ReadPrec [DescribeAutoMLJob]
readPrec :: ReadPrec DescribeAutoMLJob
$creadPrec :: ReadPrec DescribeAutoMLJob
readList :: ReadS [DescribeAutoMLJob]
$creadList :: ReadS [DescribeAutoMLJob]
readsPrec :: Int -> ReadS DescribeAutoMLJob
$creadsPrec :: Int -> ReadS DescribeAutoMLJob
Prelude.Read, Int -> DescribeAutoMLJob -> ShowS
[DescribeAutoMLJob] -> ShowS
DescribeAutoMLJob -> String
(Int -> DescribeAutoMLJob -> ShowS)
-> (DescribeAutoMLJob -> String)
-> ([DescribeAutoMLJob] -> ShowS)
-> Show DescribeAutoMLJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAutoMLJob] -> ShowS
$cshowList :: [DescribeAutoMLJob] -> ShowS
show :: DescribeAutoMLJob -> String
$cshow :: DescribeAutoMLJob -> String
showsPrec :: Int -> DescribeAutoMLJob -> ShowS
$cshowsPrec :: Int -> DescribeAutoMLJob -> ShowS
Prelude.Show, (forall x. DescribeAutoMLJob -> Rep DescribeAutoMLJob x)
-> (forall x. Rep DescribeAutoMLJob x -> DescribeAutoMLJob)
-> Generic DescribeAutoMLJob
forall x. Rep DescribeAutoMLJob x -> DescribeAutoMLJob
forall x. DescribeAutoMLJob -> Rep DescribeAutoMLJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeAutoMLJob x -> DescribeAutoMLJob
$cfrom :: forall x. DescribeAutoMLJob -> Rep DescribeAutoMLJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAutoMLJob' 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:
--
-- 'autoMLJobName', 'describeAutoMLJob_autoMLJobName' - Requests information about an AutoML job using its unique name.
newDescribeAutoMLJob ::
  -- | 'autoMLJobName'
  Prelude.Text ->
  DescribeAutoMLJob
newDescribeAutoMLJob :: Text -> DescribeAutoMLJob
newDescribeAutoMLJob Text
pAutoMLJobName_ =
  DescribeAutoMLJob' :: Text -> DescribeAutoMLJob
DescribeAutoMLJob' {$sel:autoMLJobName:DescribeAutoMLJob' :: Text
autoMLJobName = Text
pAutoMLJobName_}

-- | Requests information about an AutoML job using its unique name.
describeAutoMLJob_autoMLJobName :: Lens.Lens' DescribeAutoMLJob Prelude.Text
describeAutoMLJob_autoMLJobName :: (Text -> f Text) -> DescribeAutoMLJob -> f DescribeAutoMLJob
describeAutoMLJob_autoMLJobName = (DescribeAutoMLJob -> Text)
-> (DescribeAutoMLJob -> Text -> DescribeAutoMLJob)
-> Lens DescribeAutoMLJob DescribeAutoMLJob Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJob' {Text
autoMLJobName :: Text
$sel:autoMLJobName:DescribeAutoMLJob' :: DescribeAutoMLJob -> Text
autoMLJobName} -> Text
autoMLJobName) (\s :: DescribeAutoMLJob
s@DescribeAutoMLJob' {} Text
a -> DescribeAutoMLJob
s {$sel:autoMLJobName:DescribeAutoMLJob' :: Text
autoMLJobName = Text
a} :: DescribeAutoMLJob)

instance Core.AWSRequest DescribeAutoMLJob where
  type
    AWSResponse DescribeAutoMLJob =
      DescribeAutoMLJobResponse
  request :: DescribeAutoMLJob -> Request DescribeAutoMLJob
request = Service -> DescribeAutoMLJob -> Request DescribeAutoMLJob
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeAutoMLJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeAutoMLJob)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeAutoMLJob))
-> Logger
-> Service
-> Proxy DescribeAutoMLJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeAutoMLJob)))
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 Bool
-> Maybe Text
-> Maybe (NonEmpty AutoMLPartialFailureReason)
-> Maybe ModelDeployResult
-> Maybe ProblemType
-> Maybe AutoMLJobConfig
-> Maybe AutoMLJobObjective
-> Maybe AutoMLJobArtifacts
-> Maybe ResolvedAttributes
-> Maybe POSIX
-> Maybe AutoMLCandidate
-> Maybe ModelDeployConfig
-> Int
-> Text
-> Text
-> NonEmpty AutoMLChannel
-> AutoMLOutputDataConfig
-> Text
-> POSIX
-> POSIX
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> DescribeAutoMLJobResponse
DescribeAutoMLJobResponse'
            (Maybe Bool
 -> Maybe Text
 -> Maybe (NonEmpty AutoMLPartialFailureReason)
 -> Maybe ModelDeployResult
 -> Maybe ProblemType
 -> Maybe AutoMLJobConfig
 -> Maybe AutoMLJobObjective
 -> Maybe AutoMLJobArtifacts
 -> Maybe ResolvedAttributes
 -> Maybe POSIX
 -> Maybe AutoMLCandidate
 -> Maybe ModelDeployConfig
 -> Int
 -> Text
 -> Text
 -> NonEmpty AutoMLChannel
 -> AutoMLOutputDataConfig
 -> Text
 -> POSIX
 -> POSIX
 -> AutoMLJobStatus
 -> AutoMLJobSecondaryStatus
 -> DescribeAutoMLJobResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe Text
      -> Maybe (NonEmpty AutoMLPartialFailureReason)
      -> Maybe ModelDeployResult
      -> Maybe ProblemType
      -> Maybe AutoMLJobConfig
      -> Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"GenerateCandidateDefinitionsOnly")
            Either
  String
  (Maybe Text
   -> Maybe (NonEmpty AutoMLPartialFailureReason)
   -> Maybe ModelDeployResult
   -> Maybe ProblemType
   -> Maybe AutoMLJobConfig
   -> Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (NonEmpty AutoMLPartialFailureReason)
      -> Maybe ModelDeployResult
      -> Maybe ProblemType
      -> Maybe AutoMLJobConfig
      -> Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => 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 (NonEmpty AutoMLPartialFailureReason)
   -> Maybe ModelDeployResult
   -> Maybe ProblemType
   -> Maybe AutoMLJobConfig
   -> Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe (NonEmpty AutoMLPartialFailureReason))
-> Either
     String
     (Maybe ModelDeployResult
      -> Maybe ProblemType
      -> Maybe AutoMLJobConfig
      -> Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text
-> Either String (Maybe (NonEmpty AutoMLPartialFailureReason))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"PartialFailureReasons")
            Either
  String
  (Maybe ModelDeployResult
   -> Maybe ProblemType
   -> Maybe AutoMLJobConfig
   -> Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe ModelDeployResult)
-> Either
     String
     (Maybe ProblemType
      -> Maybe AutoMLJobConfig
      -> Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ModelDeployResult)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelDeployResult")
            Either
  String
  (Maybe ProblemType
   -> Maybe AutoMLJobConfig
   -> Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe ProblemType)
-> Either
     String
     (Maybe AutoMLJobConfig
      -> Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ProblemType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ProblemType")
            Either
  String
  (Maybe AutoMLJobConfig
   -> Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe AutoMLJobConfig)
-> Either
     String
     (Maybe AutoMLJobObjective
      -> Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe AutoMLJobConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AutoMLJobConfig")
            Either
  String
  (Maybe AutoMLJobObjective
   -> Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe AutoMLJobObjective)
-> Either
     String
     (Maybe AutoMLJobArtifacts
      -> Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe AutoMLJobObjective)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AutoMLJobObjective")
            Either
  String
  (Maybe AutoMLJobArtifacts
   -> Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe AutoMLJobArtifacts)
-> Either
     String
     (Maybe ResolvedAttributes
      -> Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe AutoMLJobArtifacts)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"AutoMLJobArtifacts")
            Either
  String
  (Maybe ResolvedAttributes
   -> Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe ResolvedAttributes)
-> Either
     String
     (Maybe POSIX
      -> Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ResolvedAttributes)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ResolvedAttributes")
            Either
  String
  (Maybe POSIX
   -> Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe AutoMLCandidate
      -> Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
"EndTime")
            Either
  String
  (Maybe AutoMLCandidate
   -> Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe AutoMLCandidate)
-> Either
     String
     (Maybe ModelDeployConfig
      -> Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe AutoMLCandidate)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"BestCandidate")
            Either
  String
  (Maybe ModelDeployConfig
   -> Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (Maybe ModelDeployConfig)
-> Either
     String
     (Int
      -> Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ModelDeployConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelDeployConfig")
            Either
  String
  (Int
   -> Text
   -> Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String Int
-> Either
     String
     (Text
      -> Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String Text
-> Either
     String
     (Text
      -> NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
"AutoMLJobName")
            Either
  String
  (Text
   -> NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String Text
-> Either
     String
     (NonEmpty AutoMLChannel
      -> AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
"AutoMLJobArn")
            Either
  String
  (NonEmpty AutoMLChannel
   -> AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String (NonEmpty AutoMLChannel)
-> Either
     String
     (AutoMLOutputDataConfig
      -> Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (NonEmpty AutoMLChannel)
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"InputDataConfig")
            Either
  String
  (AutoMLOutputDataConfig
   -> Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String AutoMLOutputDataConfig
-> Either
     String
     (Text
      -> POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String AutoMLOutputDataConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"OutputDataConfig")
            Either
  String
  (Text
   -> POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String Text
-> Either
     String
     (POSIX
      -> POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
"RoleArn")
            Either
  String
  (POSIX
   -> POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String POSIX
-> Either
     String
     (POSIX
      -> AutoMLJobStatus
      -> AutoMLJobSecondaryStatus
      -> DescribeAutoMLJobResponse)
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
  (POSIX
   -> AutoMLJobStatus
   -> AutoMLJobSecondaryStatus
   -> DescribeAutoMLJobResponse)
-> Either String POSIX
-> Either
     String
     (AutoMLJobStatus
      -> AutoMLJobSecondaryStatus -> DescribeAutoMLJobResponse)
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
"LastModifiedTime")
            Either
  String
  (AutoMLJobStatus
   -> AutoMLJobSecondaryStatus -> DescribeAutoMLJobResponse)
-> Either String AutoMLJobStatus
-> Either
     String (AutoMLJobSecondaryStatus -> DescribeAutoMLJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String AutoMLJobStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"AutoMLJobStatus")
            Either
  String (AutoMLJobSecondaryStatus -> DescribeAutoMLJobResponse)
-> Either String AutoMLJobSecondaryStatus
-> Either String DescribeAutoMLJobResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String AutoMLJobSecondaryStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"AutoMLJobSecondaryStatus")
      )

instance Prelude.Hashable DescribeAutoMLJob

instance Prelude.NFData DescribeAutoMLJob

instance Core.ToHeaders DescribeAutoMLJob where
  toHeaders :: DescribeAutoMLJob -> ResponseHeaders
toHeaders =
    ResponseHeaders -> DescribeAutoMLJob -> 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.DescribeAutoMLJob" ::
                          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 DescribeAutoMLJob where
  toJSON :: DescribeAutoMLJob -> Value
toJSON DescribeAutoMLJob' {Text
autoMLJobName :: Text
$sel:autoMLJobName:DescribeAutoMLJob' :: DescribeAutoMLJob -> 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
"AutoMLJobName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
autoMLJobName)
          ]
      )

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

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

-- | /See:/ 'newDescribeAutoMLJobResponse' smart constructor.
data DescribeAutoMLJobResponse = DescribeAutoMLJobResponse'
  { -- | Indicates whether the output for an AutoML job generates candidate
    -- definitions only.
    DescribeAutoMLJobResponse -> Maybe Bool
generateCandidateDefinitionsOnly :: Prelude.Maybe Prelude.Bool,
    -- | Returns the failure reason for an AutoML job, when applicable.
    DescribeAutoMLJobResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | Returns a list of reasons for partial failures within an AutoML job.
    DescribeAutoMLJobResponse
-> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons :: Prelude.Maybe (Prelude.NonEmpty AutoMLPartialFailureReason),
    -- | Provides information about endpoint for the model deployment.
    DescribeAutoMLJobResponse -> Maybe ModelDeployResult
modelDeployResult :: Prelude.Maybe ModelDeployResult,
    -- | Returns the job\'s problem type.
    DescribeAutoMLJobResponse -> Maybe ProblemType
problemType :: Prelude.Maybe ProblemType,
    -- | Returns the configuration for the AutoML job.
    DescribeAutoMLJobResponse -> Maybe AutoMLJobConfig
autoMLJobConfig :: Prelude.Maybe AutoMLJobConfig,
    -- | Returns the job\'s objective.
    DescribeAutoMLJobResponse -> Maybe AutoMLJobObjective
autoMLJobObjective :: Prelude.Maybe AutoMLJobObjective,
    -- | Returns information on the job\'s artifacts found in
    -- @AutoMLJobArtifacts@.
    DescribeAutoMLJobResponse -> Maybe AutoMLJobArtifacts
autoMLJobArtifacts :: Prelude.Maybe AutoMLJobArtifacts,
    -- | This contains @ProblemType@, @AutoMLJobObjective@, and
    -- @CompletionCriteria@. If you do not provide these values, they are
    -- auto-inferred. If you do provide them, the values used are the ones you
    -- provide.
    DescribeAutoMLJobResponse -> Maybe ResolvedAttributes
resolvedAttributes :: Prelude.Maybe ResolvedAttributes,
    -- | Returns the end time of the AutoML job.
    DescribeAutoMLJobResponse -> Maybe POSIX
endTime :: Prelude.Maybe Core.POSIX,
    -- | Returns the job\'s best @AutoMLCandidate@.
    DescribeAutoMLJobResponse -> Maybe AutoMLCandidate
bestCandidate :: Prelude.Maybe AutoMLCandidate,
    -- | Indicates whether the model was deployed automatically to an endpoint
    -- and the name of that endpoint if deployed automatically.
    DescribeAutoMLJobResponse -> Maybe ModelDeployConfig
modelDeployConfig :: Prelude.Maybe ModelDeployConfig,
    -- | The response's http status code.
    DescribeAutoMLJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | Returns the name of the AutoML job.
    DescribeAutoMLJobResponse -> Text
autoMLJobName :: Prelude.Text,
    -- | Returns the ARN of the AutoML job.
    DescribeAutoMLJobResponse -> Text
autoMLJobArn :: Prelude.Text,
    -- | Returns the input data configuration for the AutoML job..
    DescribeAutoMLJobResponse -> NonEmpty AutoMLChannel
inputDataConfig :: Prelude.NonEmpty AutoMLChannel,
    -- | Returns the job\'s output data config.
    DescribeAutoMLJobResponse -> AutoMLOutputDataConfig
outputDataConfig :: AutoMLOutputDataConfig,
    -- | The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
    -- Access Management (IAM) role that has read permission to the input data
    -- location and write permission to the output data location in Amazon S3.
    DescribeAutoMLJobResponse -> Text
roleArn :: Prelude.Text,
    -- | Returns the creation time of the AutoML job.
    DescribeAutoMLJobResponse -> POSIX
creationTime :: Core.POSIX,
    -- | Returns the job\'s last modified time.
    DescribeAutoMLJobResponse -> POSIX
lastModifiedTime :: Core.POSIX,
    -- | Returns the status of the AutoML job.
    DescribeAutoMLJobResponse -> AutoMLJobStatus
autoMLJobStatus :: AutoMLJobStatus,
    -- | Returns the secondary status of the AutoML job.
    DescribeAutoMLJobResponse -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus :: AutoMLJobSecondaryStatus
  }
  deriving (DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool
(DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool)
-> (DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool)
-> Eq DescribeAutoMLJobResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool
$c/= :: DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool
== :: DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool
$c== :: DescribeAutoMLJobResponse -> DescribeAutoMLJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeAutoMLJobResponse]
ReadPrec DescribeAutoMLJobResponse
Int -> ReadS DescribeAutoMLJobResponse
ReadS [DescribeAutoMLJobResponse]
(Int -> ReadS DescribeAutoMLJobResponse)
-> ReadS [DescribeAutoMLJobResponse]
-> ReadPrec DescribeAutoMLJobResponse
-> ReadPrec [DescribeAutoMLJobResponse]
-> Read DescribeAutoMLJobResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeAutoMLJobResponse]
$creadListPrec :: ReadPrec [DescribeAutoMLJobResponse]
readPrec :: ReadPrec DescribeAutoMLJobResponse
$creadPrec :: ReadPrec DescribeAutoMLJobResponse
readList :: ReadS [DescribeAutoMLJobResponse]
$creadList :: ReadS [DescribeAutoMLJobResponse]
readsPrec :: Int -> ReadS DescribeAutoMLJobResponse
$creadsPrec :: Int -> ReadS DescribeAutoMLJobResponse
Prelude.Read, Int -> DescribeAutoMLJobResponse -> ShowS
[DescribeAutoMLJobResponse] -> ShowS
DescribeAutoMLJobResponse -> String
(Int -> DescribeAutoMLJobResponse -> ShowS)
-> (DescribeAutoMLJobResponse -> String)
-> ([DescribeAutoMLJobResponse] -> ShowS)
-> Show DescribeAutoMLJobResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeAutoMLJobResponse] -> ShowS
$cshowList :: [DescribeAutoMLJobResponse] -> ShowS
show :: DescribeAutoMLJobResponse -> String
$cshow :: DescribeAutoMLJobResponse -> String
showsPrec :: Int -> DescribeAutoMLJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeAutoMLJobResponse -> ShowS
Prelude.Show, (forall x.
 DescribeAutoMLJobResponse -> Rep DescribeAutoMLJobResponse x)
-> (forall x.
    Rep DescribeAutoMLJobResponse x -> DescribeAutoMLJobResponse)
-> Generic DescribeAutoMLJobResponse
forall x.
Rep DescribeAutoMLJobResponse x -> DescribeAutoMLJobResponse
forall x.
DescribeAutoMLJobResponse -> Rep DescribeAutoMLJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeAutoMLJobResponse x -> DescribeAutoMLJobResponse
$cfrom :: forall x.
DescribeAutoMLJobResponse -> Rep DescribeAutoMLJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeAutoMLJobResponse' 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:
--
-- 'generateCandidateDefinitionsOnly', 'describeAutoMLJobResponse_generateCandidateDefinitionsOnly' - Indicates whether the output for an AutoML job generates candidate
-- definitions only.
--
-- 'failureReason', 'describeAutoMLJobResponse_failureReason' - Returns the failure reason for an AutoML job, when applicable.
--
-- 'partialFailureReasons', 'describeAutoMLJobResponse_partialFailureReasons' - Returns a list of reasons for partial failures within an AutoML job.
--
-- 'modelDeployResult', 'describeAutoMLJobResponse_modelDeployResult' - Provides information about endpoint for the model deployment.
--
-- 'problemType', 'describeAutoMLJobResponse_problemType' - Returns the job\'s problem type.
--
-- 'autoMLJobConfig', 'describeAutoMLJobResponse_autoMLJobConfig' - Returns the configuration for the AutoML job.
--
-- 'autoMLJobObjective', 'describeAutoMLJobResponse_autoMLJobObjective' - Returns the job\'s objective.
--
-- 'autoMLJobArtifacts', 'describeAutoMLJobResponse_autoMLJobArtifacts' - Returns information on the job\'s artifacts found in
-- @AutoMLJobArtifacts@.
--
-- 'resolvedAttributes', 'describeAutoMLJobResponse_resolvedAttributes' - This contains @ProblemType@, @AutoMLJobObjective@, and
-- @CompletionCriteria@. If you do not provide these values, they are
-- auto-inferred. If you do provide them, the values used are the ones you
-- provide.
--
-- 'endTime', 'describeAutoMLJobResponse_endTime' - Returns the end time of the AutoML job.
--
-- 'bestCandidate', 'describeAutoMLJobResponse_bestCandidate' - Returns the job\'s best @AutoMLCandidate@.
--
-- 'modelDeployConfig', 'describeAutoMLJobResponse_modelDeployConfig' - Indicates whether the model was deployed automatically to an endpoint
-- and the name of that endpoint if deployed automatically.
--
-- 'httpStatus', 'describeAutoMLJobResponse_httpStatus' - The response's http status code.
--
-- 'autoMLJobName', 'describeAutoMLJobResponse_autoMLJobName' - Returns the name of the AutoML job.
--
-- 'autoMLJobArn', 'describeAutoMLJobResponse_autoMLJobArn' - Returns the ARN of the AutoML job.
--
-- 'inputDataConfig', 'describeAutoMLJobResponse_inputDataConfig' - Returns the input data configuration for the AutoML job..
--
-- 'outputDataConfig', 'describeAutoMLJobResponse_outputDataConfig' - Returns the job\'s output data config.
--
-- 'roleArn', 'describeAutoMLJobResponse_roleArn' - The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
-- Access Management (IAM) role that has read permission to the input data
-- location and write permission to the output data location in Amazon S3.
--
-- 'creationTime', 'describeAutoMLJobResponse_creationTime' - Returns the creation time of the AutoML job.
--
-- 'lastModifiedTime', 'describeAutoMLJobResponse_lastModifiedTime' - Returns the job\'s last modified time.
--
-- 'autoMLJobStatus', 'describeAutoMLJobResponse_autoMLJobStatus' - Returns the status of the AutoML job.
--
-- 'autoMLJobSecondaryStatus', 'describeAutoMLJobResponse_autoMLJobSecondaryStatus' - Returns the secondary status of the AutoML job.
newDescribeAutoMLJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'autoMLJobName'
  Prelude.Text ->
  -- | 'autoMLJobArn'
  Prelude.Text ->
  -- | 'inputDataConfig'
  Prelude.NonEmpty AutoMLChannel ->
  -- | 'outputDataConfig'
  AutoMLOutputDataConfig ->
  -- | 'roleArn'
  Prelude.Text ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  -- | 'autoMLJobStatus'
  AutoMLJobStatus ->
  -- | 'autoMLJobSecondaryStatus'
  AutoMLJobSecondaryStatus ->
  DescribeAutoMLJobResponse
newDescribeAutoMLJobResponse :: Int
-> Text
-> Text
-> NonEmpty AutoMLChannel
-> AutoMLOutputDataConfig
-> Text
-> UTCTime
-> UTCTime
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> DescribeAutoMLJobResponse
newDescribeAutoMLJobResponse
  Int
pHttpStatus_
  Text
pAutoMLJobName_
  Text
pAutoMLJobArn_
  NonEmpty AutoMLChannel
pInputDataConfig_
  AutoMLOutputDataConfig
pOutputDataConfig_
  Text
pRoleArn_
  UTCTime
pCreationTime_
  UTCTime
pLastModifiedTime_
  AutoMLJobStatus
pAutoMLJobStatus_
  AutoMLJobSecondaryStatus
pAutoMLJobSecondaryStatus_ =
    DescribeAutoMLJobResponse' :: Maybe Bool
-> Maybe Text
-> Maybe (NonEmpty AutoMLPartialFailureReason)
-> Maybe ModelDeployResult
-> Maybe ProblemType
-> Maybe AutoMLJobConfig
-> Maybe AutoMLJobObjective
-> Maybe AutoMLJobArtifacts
-> Maybe ResolvedAttributes
-> Maybe POSIX
-> Maybe AutoMLCandidate
-> Maybe ModelDeployConfig
-> Int
-> Text
-> Text
-> NonEmpty AutoMLChannel
-> AutoMLOutputDataConfig
-> Text
-> POSIX
-> POSIX
-> AutoMLJobStatus
-> AutoMLJobSecondaryStatus
-> DescribeAutoMLJobResponse
DescribeAutoMLJobResponse'
      { $sel:generateCandidateDefinitionsOnly:DescribeAutoMLJobResponse' :: Maybe Bool
generateCandidateDefinitionsOnly =
          Maybe Bool
forall a. Maybe a
Prelude.Nothing,
        $sel:failureReason:DescribeAutoMLJobResponse' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:partialFailureReasons:DescribeAutoMLJobResponse' :: Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons = Maybe (NonEmpty AutoMLPartialFailureReason)
forall a. Maybe a
Prelude.Nothing,
        $sel:modelDeployResult:DescribeAutoMLJobResponse' :: Maybe ModelDeployResult
modelDeployResult = Maybe ModelDeployResult
forall a. Maybe a
Prelude.Nothing,
        $sel:problemType:DescribeAutoMLJobResponse' :: Maybe ProblemType
problemType = Maybe ProblemType
forall a. Maybe a
Prelude.Nothing,
        $sel:autoMLJobConfig:DescribeAutoMLJobResponse' :: Maybe AutoMLJobConfig
autoMLJobConfig = Maybe AutoMLJobConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:autoMLJobObjective:DescribeAutoMLJobResponse' :: Maybe AutoMLJobObjective
autoMLJobObjective = Maybe AutoMLJobObjective
forall a. Maybe a
Prelude.Nothing,
        $sel:autoMLJobArtifacts:DescribeAutoMLJobResponse' :: Maybe AutoMLJobArtifacts
autoMLJobArtifacts = Maybe AutoMLJobArtifacts
forall a. Maybe a
Prelude.Nothing,
        $sel:resolvedAttributes:DescribeAutoMLJobResponse' :: Maybe ResolvedAttributes
resolvedAttributes = Maybe ResolvedAttributes
forall a. Maybe a
Prelude.Nothing,
        $sel:endTime:DescribeAutoMLJobResponse' :: Maybe POSIX
endTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:bestCandidate:DescribeAutoMLJobResponse' :: Maybe AutoMLCandidate
bestCandidate = Maybe AutoMLCandidate
forall a. Maybe a
Prelude.Nothing,
        $sel:modelDeployConfig:DescribeAutoMLJobResponse' :: Maybe ModelDeployConfig
modelDeployConfig = Maybe ModelDeployConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeAutoMLJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:autoMLJobName:DescribeAutoMLJobResponse' :: Text
autoMLJobName = Text
pAutoMLJobName_,
        $sel:autoMLJobArn:DescribeAutoMLJobResponse' :: Text
autoMLJobArn = Text
pAutoMLJobArn_,
        $sel:inputDataConfig:DescribeAutoMLJobResponse' :: NonEmpty AutoMLChannel
inputDataConfig =
          Tagged (NonEmpty AutoMLChannel) (Identity (NonEmpty AutoMLChannel))
-> Tagged
     (NonEmpty AutoMLChannel) (Identity (NonEmpty AutoMLChannel))
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced (Tagged
   (NonEmpty AutoMLChannel) (Identity (NonEmpty AutoMLChannel))
 -> Tagged
      (NonEmpty AutoMLChannel) (Identity (NonEmpty AutoMLChannel)))
-> NonEmpty AutoMLChannel -> NonEmpty AutoMLChannel
forall t b. AReview t b -> b -> t
Lens.# NonEmpty AutoMLChannel
pInputDataConfig_,
        $sel:outputDataConfig:DescribeAutoMLJobResponse' :: AutoMLOutputDataConfig
outputDataConfig = AutoMLOutputDataConfig
pOutputDataConfig_,
        $sel:roleArn:DescribeAutoMLJobResponse' :: Text
roleArn = Text
pRoleArn_,
        $sel:creationTime:DescribeAutoMLJobResponse' :: 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:lastModifiedTime:DescribeAutoMLJobResponse' :: POSIX
lastModifiedTime =
          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
pLastModifiedTime_,
        $sel:autoMLJobStatus:DescribeAutoMLJobResponse' :: AutoMLJobStatus
autoMLJobStatus = AutoMLJobStatus
pAutoMLJobStatus_,
        $sel:autoMLJobSecondaryStatus:DescribeAutoMLJobResponse' :: AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus =
          AutoMLJobSecondaryStatus
pAutoMLJobSecondaryStatus_
      }

-- | Indicates whether the output for an AutoML job generates candidate
-- definitions only.
describeAutoMLJobResponse_generateCandidateDefinitionsOnly :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe Prelude.Bool)
describeAutoMLJobResponse_generateCandidateDefinitionsOnly :: (Maybe Bool -> f (Maybe Bool))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_generateCandidateDefinitionsOnly = (DescribeAutoMLJobResponse -> Maybe Bool)
-> (DescribeAutoMLJobResponse
    -> Maybe Bool -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe Bool
generateCandidateDefinitionsOnly :: Maybe Bool
$sel:generateCandidateDefinitionsOnly:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe Bool
generateCandidateDefinitionsOnly} -> Maybe Bool
generateCandidateDefinitionsOnly) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe Bool
a -> DescribeAutoMLJobResponse
s {$sel:generateCandidateDefinitionsOnly:DescribeAutoMLJobResponse' :: Maybe Bool
generateCandidateDefinitionsOnly = Maybe Bool
a} :: DescribeAutoMLJobResponse)

-- | Returns the failure reason for an AutoML job, when applicable.
describeAutoMLJobResponse_failureReason :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe Prelude.Text)
describeAutoMLJobResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_failureReason = (DescribeAutoMLJobResponse -> Maybe Text)
-> (DescribeAutoMLJobResponse
    -> Maybe Text -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe Text
a -> DescribeAutoMLJobResponse
s {$sel:failureReason:DescribeAutoMLJobResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeAutoMLJobResponse)

-- | Returns a list of reasons for partial failures within an AutoML job.
describeAutoMLJobResponse_partialFailureReasons :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe (Prelude.NonEmpty AutoMLPartialFailureReason))
describeAutoMLJobResponse_partialFailureReasons :: (Maybe (NonEmpty AutoMLPartialFailureReason)
 -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_partialFailureReasons = (DescribeAutoMLJobResponse
 -> Maybe (NonEmpty AutoMLPartialFailureReason))
-> (DescribeAutoMLJobResponse
    -> Maybe (NonEmpty AutoMLPartialFailureReason)
    -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons :: Maybe (NonEmpty AutoMLPartialFailureReason)
$sel:partialFailureReasons:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse
-> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons} -> Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe (NonEmpty AutoMLPartialFailureReason)
a -> DescribeAutoMLJobResponse
s {$sel:partialFailureReasons:DescribeAutoMLJobResponse' :: Maybe (NonEmpty AutoMLPartialFailureReason)
partialFailureReasons = Maybe (NonEmpty AutoMLPartialFailureReason)
a} :: DescribeAutoMLJobResponse) ((Maybe (NonEmpty AutoMLPartialFailureReason)
  -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
 -> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse)
-> ((Maybe (NonEmpty AutoMLPartialFailureReason)
     -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
    -> Maybe (NonEmpty AutoMLPartialFailureReason)
    -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> (Maybe (NonEmpty AutoMLPartialFailureReason)
    -> f (Maybe (NonEmpty AutoMLPartialFailureReason)))
-> DescribeAutoMLJobResponse
-> f DescribeAutoMLJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
-> Iso
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
     (Maybe (NonEmpty AutoMLPartialFailureReason))
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 AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
  (NonEmpty AutoMLPartialFailureReason)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Provides information about endpoint for the model deployment.
describeAutoMLJobResponse_modelDeployResult :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe ModelDeployResult)
describeAutoMLJobResponse_modelDeployResult :: (Maybe ModelDeployResult -> f (Maybe ModelDeployResult))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_modelDeployResult = (DescribeAutoMLJobResponse -> Maybe ModelDeployResult)
-> (DescribeAutoMLJobResponse
    -> Maybe ModelDeployResult -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe ModelDeployResult)
     (Maybe ModelDeployResult)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe ModelDeployResult
modelDeployResult :: Maybe ModelDeployResult
$sel:modelDeployResult:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe ModelDeployResult
modelDeployResult} -> Maybe ModelDeployResult
modelDeployResult) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe ModelDeployResult
a -> DescribeAutoMLJobResponse
s {$sel:modelDeployResult:DescribeAutoMLJobResponse' :: Maybe ModelDeployResult
modelDeployResult = Maybe ModelDeployResult
a} :: DescribeAutoMLJobResponse)

-- | Returns the job\'s problem type.
describeAutoMLJobResponse_problemType :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe ProblemType)
describeAutoMLJobResponse_problemType :: (Maybe ProblemType -> f (Maybe ProblemType))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_problemType = (DescribeAutoMLJobResponse -> Maybe ProblemType)
-> (DescribeAutoMLJobResponse
    -> Maybe ProblemType -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe ProblemType)
     (Maybe ProblemType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe ProblemType
problemType :: Maybe ProblemType
$sel:problemType:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe ProblemType
problemType} -> Maybe ProblemType
problemType) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe ProblemType
a -> DescribeAutoMLJobResponse
s {$sel:problemType:DescribeAutoMLJobResponse' :: Maybe ProblemType
problemType = Maybe ProblemType
a} :: DescribeAutoMLJobResponse)

-- | Returns the configuration for the AutoML job.
describeAutoMLJobResponse_autoMLJobConfig :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe AutoMLJobConfig)
describeAutoMLJobResponse_autoMLJobConfig :: (Maybe AutoMLJobConfig -> f (Maybe AutoMLJobConfig))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobConfig = (DescribeAutoMLJobResponse -> Maybe AutoMLJobConfig)
-> (DescribeAutoMLJobResponse
    -> Maybe AutoMLJobConfig -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe AutoMLJobConfig)
     (Maybe AutoMLJobConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe AutoMLJobConfig
autoMLJobConfig :: Maybe AutoMLJobConfig
$sel:autoMLJobConfig:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe AutoMLJobConfig
autoMLJobConfig} -> Maybe AutoMLJobConfig
autoMLJobConfig) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe AutoMLJobConfig
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobConfig:DescribeAutoMLJobResponse' :: Maybe AutoMLJobConfig
autoMLJobConfig = Maybe AutoMLJobConfig
a} :: DescribeAutoMLJobResponse)

-- | Returns the job\'s objective.
describeAutoMLJobResponse_autoMLJobObjective :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe AutoMLJobObjective)
describeAutoMLJobResponse_autoMLJobObjective :: (Maybe AutoMLJobObjective -> f (Maybe AutoMLJobObjective))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobObjective = (DescribeAutoMLJobResponse -> Maybe AutoMLJobObjective)
-> (DescribeAutoMLJobResponse
    -> Maybe AutoMLJobObjective -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe AutoMLJobObjective)
     (Maybe AutoMLJobObjective)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe AutoMLJobObjective
autoMLJobObjective :: Maybe AutoMLJobObjective
$sel:autoMLJobObjective:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe AutoMLJobObjective
autoMLJobObjective} -> Maybe AutoMLJobObjective
autoMLJobObjective) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe AutoMLJobObjective
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobObjective:DescribeAutoMLJobResponse' :: Maybe AutoMLJobObjective
autoMLJobObjective = Maybe AutoMLJobObjective
a} :: DescribeAutoMLJobResponse)

-- | Returns information on the job\'s artifacts found in
-- @AutoMLJobArtifacts@.
describeAutoMLJobResponse_autoMLJobArtifacts :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe AutoMLJobArtifacts)
describeAutoMLJobResponse_autoMLJobArtifacts :: (Maybe AutoMLJobArtifacts -> f (Maybe AutoMLJobArtifacts))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobArtifacts = (DescribeAutoMLJobResponse -> Maybe AutoMLJobArtifacts)
-> (DescribeAutoMLJobResponse
    -> Maybe AutoMLJobArtifacts -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe AutoMLJobArtifacts)
     (Maybe AutoMLJobArtifacts)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe AutoMLJobArtifacts
autoMLJobArtifacts :: Maybe AutoMLJobArtifacts
$sel:autoMLJobArtifacts:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe AutoMLJobArtifacts
autoMLJobArtifacts} -> Maybe AutoMLJobArtifacts
autoMLJobArtifacts) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe AutoMLJobArtifacts
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobArtifacts:DescribeAutoMLJobResponse' :: Maybe AutoMLJobArtifacts
autoMLJobArtifacts = Maybe AutoMLJobArtifacts
a} :: DescribeAutoMLJobResponse)

-- | This contains @ProblemType@, @AutoMLJobObjective@, and
-- @CompletionCriteria@. If you do not provide these values, they are
-- auto-inferred. If you do provide them, the values used are the ones you
-- provide.
describeAutoMLJobResponse_resolvedAttributes :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe ResolvedAttributes)
describeAutoMLJobResponse_resolvedAttributes :: (Maybe ResolvedAttributes -> f (Maybe ResolvedAttributes))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_resolvedAttributes = (DescribeAutoMLJobResponse -> Maybe ResolvedAttributes)
-> (DescribeAutoMLJobResponse
    -> Maybe ResolvedAttributes -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe ResolvedAttributes)
     (Maybe ResolvedAttributes)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe ResolvedAttributes
resolvedAttributes :: Maybe ResolvedAttributes
$sel:resolvedAttributes:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe ResolvedAttributes
resolvedAttributes} -> Maybe ResolvedAttributes
resolvedAttributes) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe ResolvedAttributes
a -> DescribeAutoMLJobResponse
s {$sel:resolvedAttributes:DescribeAutoMLJobResponse' :: Maybe ResolvedAttributes
resolvedAttributes = Maybe ResolvedAttributes
a} :: DescribeAutoMLJobResponse)

-- | Returns the end time of the AutoML job.
describeAutoMLJobResponse_endTime :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe Prelude.UTCTime)
describeAutoMLJobResponse_endTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_endTime = (DescribeAutoMLJobResponse -> Maybe POSIX)
-> (DescribeAutoMLJobResponse
    -> Maybe POSIX -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe POSIX
a -> DescribeAutoMLJobResponse
s {$sel:endTime:DescribeAutoMLJobResponse' :: Maybe POSIX
endTime = Maybe POSIX
a} :: DescribeAutoMLJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeAutoMLJobResponse
-> f DescribeAutoMLJobResponse
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

-- | Returns the job\'s best @AutoMLCandidate@.
describeAutoMLJobResponse_bestCandidate :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe AutoMLCandidate)
describeAutoMLJobResponse_bestCandidate :: (Maybe AutoMLCandidate -> f (Maybe AutoMLCandidate))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_bestCandidate = (DescribeAutoMLJobResponse -> Maybe AutoMLCandidate)
-> (DescribeAutoMLJobResponse
    -> Maybe AutoMLCandidate -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe AutoMLCandidate)
     (Maybe AutoMLCandidate)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe AutoMLCandidate
bestCandidate :: Maybe AutoMLCandidate
$sel:bestCandidate:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe AutoMLCandidate
bestCandidate} -> Maybe AutoMLCandidate
bestCandidate) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe AutoMLCandidate
a -> DescribeAutoMLJobResponse
s {$sel:bestCandidate:DescribeAutoMLJobResponse' :: Maybe AutoMLCandidate
bestCandidate = Maybe AutoMLCandidate
a} :: DescribeAutoMLJobResponse)

-- | Indicates whether the model was deployed automatically to an endpoint
-- and the name of that endpoint if deployed automatically.
describeAutoMLJobResponse_modelDeployConfig :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.Maybe ModelDeployConfig)
describeAutoMLJobResponse_modelDeployConfig :: (Maybe ModelDeployConfig -> f (Maybe ModelDeployConfig))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_modelDeployConfig = (DescribeAutoMLJobResponse -> Maybe ModelDeployConfig)
-> (DescribeAutoMLJobResponse
    -> Maybe ModelDeployConfig -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (Maybe ModelDeployConfig)
     (Maybe ModelDeployConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Maybe ModelDeployConfig
modelDeployConfig :: Maybe ModelDeployConfig
$sel:modelDeployConfig:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Maybe ModelDeployConfig
modelDeployConfig} -> Maybe ModelDeployConfig
modelDeployConfig) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Maybe ModelDeployConfig
a -> DescribeAutoMLJobResponse
s {$sel:modelDeployConfig:DescribeAutoMLJobResponse' :: Maybe ModelDeployConfig
modelDeployConfig = Maybe ModelDeployConfig
a} :: DescribeAutoMLJobResponse)

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

-- | Returns the name of the AutoML job.
describeAutoMLJobResponse_autoMLJobName :: Lens.Lens' DescribeAutoMLJobResponse Prelude.Text
describeAutoMLJobResponse_autoMLJobName :: (Text -> f Text)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobName = (DescribeAutoMLJobResponse -> Text)
-> (DescribeAutoMLJobResponse -> Text -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse DescribeAutoMLJobResponse Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Text
autoMLJobName :: Text
$sel:autoMLJobName:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Text
autoMLJobName} -> Text
autoMLJobName) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Text
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobName:DescribeAutoMLJobResponse' :: Text
autoMLJobName = Text
a} :: DescribeAutoMLJobResponse)

-- | Returns the ARN of the AutoML job.
describeAutoMLJobResponse_autoMLJobArn :: Lens.Lens' DescribeAutoMLJobResponse Prelude.Text
describeAutoMLJobResponse_autoMLJobArn :: (Text -> f Text)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobArn = (DescribeAutoMLJobResponse -> Text)
-> (DescribeAutoMLJobResponse -> Text -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse DescribeAutoMLJobResponse Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Text
autoMLJobArn :: Text
$sel:autoMLJobArn:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Text
autoMLJobArn} -> Text
autoMLJobArn) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Text
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobArn:DescribeAutoMLJobResponse' :: Text
autoMLJobArn = Text
a} :: DescribeAutoMLJobResponse)

-- | Returns the input data configuration for the AutoML job..
describeAutoMLJobResponse_inputDataConfig :: Lens.Lens' DescribeAutoMLJobResponse (Prelude.NonEmpty AutoMLChannel)
describeAutoMLJobResponse_inputDataConfig :: (NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_inputDataConfig = (DescribeAutoMLJobResponse -> NonEmpty AutoMLChannel)
-> (DescribeAutoMLJobResponse
    -> NonEmpty AutoMLChannel -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     (NonEmpty AutoMLChannel)
     (NonEmpty AutoMLChannel)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {NonEmpty AutoMLChannel
inputDataConfig :: NonEmpty AutoMLChannel
$sel:inputDataConfig:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> NonEmpty AutoMLChannel
inputDataConfig} -> NonEmpty AutoMLChannel
inputDataConfig) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} NonEmpty AutoMLChannel
a -> DescribeAutoMLJobResponse
s {$sel:inputDataConfig:DescribeAutoMLJobResponse' :: NonEmpty AutoMLChannel
inputDataConfig = NonEmpty AutoMLChannel
a} :: DescribeAutoMLJobResponse) ((NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
 -> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse)
-> ((NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
    -> NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
-> (NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
-> DescribeAutoMLJobResponse
-> f DescribeAutoMLJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel))
-> NonEmpty AutoMLChannel -> f (NonEmpty AutoMLChannel)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Returns the job\'s output data config.
describeAutoMLJobResponse_outputDataConfig :: Lens.Lens' DescribeAutoMLJobResponse AutoMLOutputDataConfig
describeAutoMLJobResponse_outputDataConfig :: (AutoMLOutputDataConfig -> f AutoMLOutputDataConfig)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_outputDataConfig = (DescribeAutoMLJobResponse -> AutoMLOutputDataConfig)
-> (DescribeAutoMLJobResponse
    -> AutoMLOutputDataConfig -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     AutoMLOutputDataConfig
     AutoMLOutputDataConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {AutoMLOutputDataConfig
outputDataConfig :: AutoMLOutputDataConfig
$sel:outputDataConfig:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> AutoMLOutputDataConfig
outputDataConfig} -> AutoMLOutputDataConfig
outputDataConfig) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} AutoMLOutputDataConfig
a -> DescribeAutoMLJobResponse
s {$sel:outputDataConfig:DescribeAutoMLJobResponse' :: AutoMLOutputDataConfig
outputDataConfig = AutoMLOutputDataConfig
a} :: DescribeAutoMLJobResponse)

-- | The Amazon Resource Name (ARN) of the Amazon Web Services Identity and
-- Access Management (IAM) role that has read permission to the input data
-- location and write permission to the output data location in Amazon S3.
describeAutoMLJobResponse_roleArn :: Lens.Lens' DescribeAutoMLJobResponse Prelude.Text
describeAutoMLJobResponse_roleArn :: (Text -> f Text)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_roleArn = (DescribeAutoMLJobResponse -> Text)
-> (DescribeAutoMLJobResponse -> Text -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse DescribeAutoMLJobResponse Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {Text
roleArn :: Text
$sel:roleArn:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> Text
roleArn} -> Text
roleArn) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} Text
a -> DescribeAutoMLJobResponse
s {$sel:roleArn:DescribeAutoMLJobResponse' :: Text
roleArn = Text
a} :: DescribeAutoMLJobResponse)

-- | Returns the creation time of the AutoML job.
describeAutoMLJobResponse_creationTime :: Lens.Lens' DescribeAutoMLJobResponse Prelude.UTCTime
describeAutoMLJobResponse_creationTime :: (UTCTime -> f UTCTime)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_creationTime = (DescribeAutoMLJobResponse -> POSIX)
-> (DescribeAutoMLJobResponse
    -> POSIX -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse DescribeAutoMLJobResponse POSIX POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} POSIX
a -> DescribeAutoMLJobResponse
s {$sel:creationTime:DescribeAutoMLJobResponse' :: POSIX
creationTime = POSIX
a} :: DescribeAutoMLJobResponse) ((POSIX -> f POSIX)
 -> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeAutoMLJobResponse
-> f DescribeAutoMLJobResponse
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

-- | Returns the job\'s last modified time.
describeAutoMLJobResponse_lastModifiedTime :: Lens.Lens' DescribeAutoMLJobResponse Prelude.UTCTime
describeAutoMLJobResponse_lastModifiedTime :: (UTCTime -> f UTCTime)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_lastModifiedTime = (DescribeAutoMLJobResponse -> POSIX)
-> (DescribeAutoMLJobResponse
    -> POSIX -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse DescribeAutoMLJobResponse POSIX POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {POSIX
lastModifiedTime :: POSIX
$sel:lastModifiedTime:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> POSIX
lastModifiedTime} -> POSIX
lastModifiedTime) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} POSIX
a -> DescribeAutoMLJobResponse
s {$sel:lastModifiedTime:DescribeAutoMLJobResponse' :: POSIX
lastModifiedTime = POSIX
a} :: DescribeAutoMLJobResponse) ((POSIX -> f POSIX)
 -> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeAutoMLJobResponse
-> f DescribeAutoMLJobResponse
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

-- | Returns the status of the AutoML job.
describeAutoMLJobResponse_autoMLJobStatus :: Lens.Lens' DescribeAutoMLJobResponse AutoMLJobStatus
describeAutoMLJobResponse_autoMLJobStatus :: (AutoMLJobStatus -> f AutoMLJobStatus)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobStatus = (DescribeAutoMLJobResponse -> AutoMLJobStatus)
-> (DescribeAutoMLJobResponse
    -> AutoMLJobStatus -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     AutoMLJobStatus
     AutoMLJobStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {AutoMLJobStatus
autoMLJobStatus :: AutoMLJobStatus
$sel:autoMLJobStatus:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> AutoMLJobStatus
autoMLJobStatus} -> AutoMLJobStatus
autoMLJobStatus) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} AutoMLJobStatus
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobStatus:DescribeAutoMLJobResponse' :: AutoMLJobStatus
autoMLJobStatus = AutoMLJobStatus
a} :: DescribeAutoMLJobResponse)

-- | Returns the secondary status of the AutoML job.
describeAutoMLJobResponse_autoMLJobSecondaryStatus :: Lens.Lens' DescribeAutoMLJobResponse AutoMLJobSecondaryStatus
describeAutoMLJobResponse_autoMLJobSecondaryStatus :: (AutoMLJobSecondaryStatus -> f AutoMLJobSecondaryStatus)
-> DescribeAutoMLJobResponse -> f DescribeAutoMLJobResponse
describeAutoMLJobResponse_autoMLJobSecondaryStatus = (DescribeAutoMLJobResponse -> AutoMLJobSecondaryStatus)
-> (DescribeAutoMLJobResponse
    -> AutoMLJobSecondaryStatus -> DescribeAutoMLJobResponse)
-> Lens
     DescribeAutoMLJobResponse
     DescribeAutoMLJobResponse
     AutoMLJobSecondaryStatus
     AutoMLJobSecondaryStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeAutoMLJobResponse' {AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus :: AutoMLJobSecondaryStatus
$sel:autoMLJobSecondaryStatus:DescribeAutoMLJobResponse' :: DescribeAutoMLJobResponse -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus} -> AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus) (\s :: DescribeAutoMLJobResponse
s@DescribeAutoMLJobResponse' {} AutoMLJobSecondaryStatus
a -> DescribeAutoMLJobResponse
s {$sel:autoMLJobSecondaryStatus:DescribeAutoMLJobResponse' :: AutoMLJobSecondaryStatus
autoMLJobSecondaryStatus = AutoMLJobSecondaryStatus
a} :: DescribeAutoMLJobResponse)

instance Prelude.NFData DescribeAutoMLJobResponse