{-# 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.DescribeProcessingJob
-- 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 a description of a processing job.
module Amazonka.SageMaker.DescribeProcessingJob
  ( -- * Creating a Request
    DescribeProcessingJob (..),
    newDescribeProcessingJob,

    -- * Request Lenses
    describeProcessingJob_processingJobName,

    -- * Destructuring the Response
    DescribeProcessingJobResponse (..),
    newDescribeProcessingJobResponse,

    -- * Response Lenses
    describeProcessingJobResponse_failureReason,
    describeProcessingJobResponse_monitoringScheduleArn,
    describeProcessingJobResponse_environment,
    describeProcessingJobResponse_stoppingCondition,
    describeProcessingJobResponse_experimentConfig,
    describeProcessingJobResponse_lastModifiedTime,
    describeProcessingJobResponse_processingInputs,
    describeProcessingJobResponse_networkConfig,
    describeProcessingJobResponse_autoMLJobArn,
    describeProcessingJobResponse_trainingJobArn,
    describeProcessingJobResponse_exitMessage,
    describeProcessingJobResponse_processingOutputConfig,
    describeProcessingJobResponse_processingStartTime,
    describeProcessingJobResponse_processingEndTime,
    describeProcessingJobResponse_roleArn,
    describeProcessingJobResponse_httpStatus,
    describeProcessingJobResponse_processingJobName,
    describeProcessingJobResponse_processingResources,
    describeProcessingJobResponse_appSpecification,
    describeProcessingJobResponse_processingJobArn,
    describeProcessingJobResponse_processingJobStatus,
    describeProcessingJobResponse_creationTime,
  )
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:/ 'newDescribeProcessingJob' smart constructor.
data DescribeProcessingJob = DescribeProcessingJob'
  { -- | The name of the processing job. The name must be unique within an Amazon
    -- Web Services Region in the Amazon Web Services account.
    DescribeProcessingJob -> Text
processingJobName :: Prelude.Text
  }
  deriving (DescribeProcessingJob -> DescribeProcessingJob -> Bool
(DescribeProcessingJob -> DescribeProcessingJob -> Bool)
-> (DescribeProcessingJob -> DescribeProcessingJob -> Bool)
-> Eq DescribeProcessingJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeProcessingJob -> DescribeProcessingJob -> Bool
$c/= :: DescribeProcessingJob -> DescribeProcessingJob -> Bool
== :: DescribeProcessingJob -> DescribeProcessingJob -> Bool
$c== :: DescribeProcessingJob -> DescribeProcessingJob -> Bool
Prelude.Eq, ReadPrec [DescribeProcessingJob]
ReadPrec DescribeProcessingJob
Int -> ReadS DescribeProcessingJob
ReadS [DescribeProcessingJob]
(Int -> ReadS DescribeProcessingJob)
-> ReadS [DescribeProcessingJob]
-> ReadPrec DescribeProcessingJob
-> ReadPrec [DescribeProcessingJob]
-> Read DescribeProcessingJob
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeProcessingJob]
$creadListPrec :: ReadPrec [DescribeProcessingJob]
readPrec :: ReadPrec DescribeProcessingJob
$creadPrec :: ReadPrec DescribeProcessingJob
readList :: ReadS [DescribeProcessingJob]
$creadList :: ReadS [DescribeProcessingJob]
readsPrec :: Int -> ReadS DescribeProcessingJob
$creadsPrec :: Int -> ReadS DescribeProcessingJob
Prelude.Read, Int -> DescribeProcessingJob -> ShowS
[DescribeProcessingJob] -> ShowS
DescribeProcessingJob -> String
(Int -> DescribeProcessingJob -> ShowS)
-> (DescribeProcessingJob -> String)
-> ([DescribeProcessingJob] -> ShowS)
-> Show DescribeProcessingJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeProcessingJob] -> ShowS
$cshowList :: [DescribeProcessingJob] -> ShowS
show :: DescribeProcessingJob -> String
$cshow :: DescribeProcessingJob -> String
showsPrec :: Int -> DescribeProcessingJob -> ShowS
$cshowsPrec :: Int -> DescribeProcessingJob -> ShowS
Prelude.Show, (forall x. DescribeProcessingJob -> Rep DescribeProcessingJob x)
-> (forall x. Rep DescribeProcessingJob x -> DescribeProcessingJob)
-> Generic DescribeProcessingJob
forall x. Rep DescribeProcessingJob x -> DescribeProcessingJob
forall x. DescribeProcessingJob -> Rep DescribeProcessingJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeProcessingJob x -> DescribeProcessingJob
$cfrom :: forall x. DescribeProcessingJob -> Rep DescribeProcessingJob x
Prelude.Generic)

-- |
-- Create a value of 'DescribeProcessingJob' 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:
--
-- 'processingJobName', 'describeProcessingJob_processingJobName' - The name of the processing job. The name must be unique within an Amazon
-- Web Services Region in the Amazon Web Services account.
newDescribeProcessingJob ::
  -- | 'processingJobName'
  Prelude.Text ->
  DescribeProcessingJob
newDescribeProcessingJob :: Text -> DescribeProcessingJob
newDescribeProcessingJob Text
pProcessingJobName_ =
  DescribeProcessingJob' :: Text -> DescribeProcessingJob
DescribeProcessingJob'
    { $sel:processingJobName:DescribeProcessingJob' :: Text
processingJobName =
        Text
pProcessingJobName_
    }

-- | The name of the processing job. The name must be unique within an Amazon
-- Web Services Region in the Amazon Web Services account.
describeProcessingJob_processingJobName :: Lens.Lens' DescribeProcessingJob Prelude.Text
describeProcessingJob_processingJobName :: (Text -> f Text)
-> DescribeProcessingJob -> f DescribeProcessingJob
describeProcessingJob_processingJobName = (DescribeProcessingJob -> Text)
-> (DescribeProcessingJob -> Text -> DescribeProcessingJob)
-> Lens DescribeProcessingJob DescribeProcessingJob Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJob' {Text
processingJobName :: Text
$sel:processingJobName:DescribeProcessingJob' :: DescribeProcessingJob -> Text
processingJobName} -> Text
processingJobName) (\s :: DescribeProcessingJob
s@DescribeProcessingJob' {} Text
a -> DescribeProcessingJob
s {$sel:processingJobName:DescribeProcessingJob' :: Text
processingJobName = Text
a} :: DescribeProcessingJob)

instance Core.AWSRequest DescribeProcessingJob where
  type
    AWSResponse DescribeProcessingJob =
      DescribeProcessingJobResponse
  request :: DescribeProcessingJob -> Request DescribeProcessingJob
request = Service -> DescribeProcessingJob -> Request DescribeProcessingJob
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeProcessingJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeProcessingJob)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeProcessingJob))
-> Logger
-> Service
-> Proxy DescribeProcessingJob
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeProcessingJob)))
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 Text
-> Maybe (HashMap Text Text)
-> Maybe ProcessingStoppingCondition
-> Maybe ExperimentConfig
-> Maybe POSIX
-> Maybe [ProcessingInput]
-> Maybe NetworkConfig
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ProcessingOutputConfig
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Int
-> Text
-> ProcessingResources
-> AppSpecification
-> Text
-> ProcessingJobStatus
-> POSIX
-> DescribeProcessingJobResponse
DescribeProcessingJobResponse'
            (Maybe Text
 -> Maybe Text
 -> Maybe (HashMap Text Text)
 -> Maybe ProcessingStoppingCondition
 -> Maybe ExperimentConfig
 -> Maybe POSIX
 -> Maybe [ProcessingInput]
 -> Maybe NetworkConfig
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe ProcessingOutputConfig
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Text
 -> Int
 -> Text
 -> ProcessingResources
 -> AppSpecification
 -> Text
 -> ProcessingJobStatus
 -> POSIX
 -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe (HashMap Text Text)
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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 Text
   -> Maybe (HashMap Text Text)
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe (HashMap Text Text)
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"MonitoringScheduleArn")
            Either
  String
  (Maybe (HashMap Text Text)
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe (HashMap Text Text))
-> Either
     String
     (Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Environment" Either String (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text)
-> Either String (Maybe (HashMap Text Text))
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe ProcessingStoppingCondition)
-> Either
     String
     (Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ProcessingStoppingCondition)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"StoppingCondition")
            Either
  String
  (Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe ExperimentConfig)
-> Either
     String
     (Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ExperimentConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ExperimentConfig")
            Either
  String
  (Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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 [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe [ProcessingInput])
-> Either
     String
     (Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Either String (Maybe (Maybe [ProcessingInput]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ProcessingInputs"
                            Either String (Maybe (Maybe [ProcessingInput]))
-> Maybe [ProcessingInput]
-> Either String (Maybe [ProcessingInput])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [ProcessingInput]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe NetworkConfig)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe NetworkConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NetworkConfig")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"AutoMLJobArn")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"TrainingJobArn")
            Either
  String
  (Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"ExitMessage")
            Either
  String
  (Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe ProcessingOutputConfig)
-> Either
     String
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe ProcessingOutputConfig)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ProcessingOutputConfig")
            Either
  String
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"ProcessingStartTime")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"ProcessingEndTime")
            Either
  String
  (Maybe Text
   -> Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Int
      -> Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"RoleArn")
            Either
  String
  (Int
   -> Text
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String Int
-> Either
     String
     (Text
      -> ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
   -> ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String Text
-> Either
     String
     (ProcessingResources
      -> AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
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
"ProcessingJobName")
            Either
  String
  (ProcessingResources
   -> AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String ProcessingResources
-> Either
     String
     (AppSpecification
      -> Text
      -> ProcessingJobStatus
      -> POSIX
      -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ProcessingResources
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ProcessingResources")
            Either
  String
  (AppSpecification
   -> Text
   -> ProcessingJobStatus
   -> POSIX
   -> DescribeProcessingJobResponse)
-> Either String AppSpecification
-> Either
     String
     (Text
      -> ProcessingJobStatus -> POSIX -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String AppSpecification
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"AppSpecification")
            Either
  String
  (Text
   -> ProcessingJobStatus -> POSIX -> DescribeProcessingJobResponse)
-> Either String Text
-> Either
     String
     (ProcessingJobStatus -> POSIX -> DescribeProcessingJobResponse)
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
"ProcessingJobArn")
            Either
  String
  (ProcessingJobStatus -> POSIX -> DescribeProcessingJobResponse)
-> Either String ProcessingJobStatus
-> Either String (POSIX -> DescribeProcessingJobResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ProcessingJobStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"ProcessingJobStatus")
            Either String (POSIX -> DescribeProcessingJobResponse)
-> Either String POSIX
-> Either String DescribeProcessingJobResponse
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")
      )

instance Prelude.Hashable DescribeProcessingJob

instance Prelude.NFData DescribeProcessingJob

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

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

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

-- | /See:/ 'newDescribeProcessingJobResponse' smart constructor.
data DescribeProcessingJobResponse = DescribeProcessingJobResponse'
  { -- | A string, up to one KB in size, that contains the reason a processing
    -- job failed, if it failed.
    DescribeProcessingJobResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The ARN of a monitoring schedule for an endpoint associated with this
    -- processing job.
    DescribeProcessingJobResponse -> Maybe Text
monitoringScheduleArn :: Prelude.Maybe Prelude.Text,
    -- | The environment variables set in the Docker container.
    DescribeProcessingJobResponse -> Maybe (HashMap Text Text)
environment :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The time limit for how long the processing job is allowed to run.
    DescribeProcessingJobResponse -> Maybe ProcessingStoppingCondition
stoppingCondition :: Prelude.Maybe ProcessingStoppingCondition,
    -- | The configuration information used to create an experiment.
    DescribeProcessingJobResponse -> Maybe ExperimentConfig
experimentConfig :: Prelude.Maybe ExperimentConfig,
    -- | The time at which the processing job was last modified.
    DescribeProcessingJobResponse -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | The inputs for a processing job.
    DescribeProcessingJobResponse -> Maybe [ProcessingInput]
processingInputs :: Prelude.Maybe [ProcessingInput],
    -- | Networking options for a processing job.
    DescribeProcessingJobResponse -> Maybe NetworkConfig
networkConfig :: Prelude.Maybe NetworkConfig,
    -- | The ARN of an AutoML job associated with this processing job.
    DescribeProcessingJobResponse -> Maybe Text
autoMLJobArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of a training job associated with this processing job.
    DescribeProcessingJobResponse -> Maybe Text
trainingJobArn :: Prelude.Maybe Prelude.Text,
    -- | An optional string, up to one KB in size, that contains metadata from
    -- the processing container when the processing job exits.
    DescribeProcessingJobResponse -> Maybe Text
exitMessage :: Prelude.Maybe Prelude.Text,
    -- | Output configuration for the processing job.
    DescribeProcessingJobResponse -> Maybe ProcessingOutputConfig
processingOutputConfig :: Prelude.Maybe ProcessingOutputConfig,
    -- | The time at which the processing job started.
    DescribeProcessingJobResponse -> Maybe POSIX
processingStartTime :: Prelude.Maybe Core.POSIX,
    -- | The time at which the processing job completed.
    DescribeProcessingJobResponse -> Maybe POSIX
processingEndTime :: Prelude.Maybe Core.POSIX,
    -- | The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
    -- assume to perform tasks on your behalf.
    DescribeProcessingJobResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeProcessingJobResponse -> Int
httpStatus :: Prelude.Int,
    -- | The name of the processing job. The name must be unique within an Amazon
    -- Web Services Region in the Amazon Web Services account.
    DescribeProcessingJobResponse -> Text
processingJobName :: Prelude.Text,
    -- | Identifies the resources, ML compute instances, and ML storage volumes
    -- to deploy for a processing job. In distributed training, you specify
    -- more than one instance.
    DescribeProcessingJobResponse -> ProcessingResources
processingResources :: ProcessingResources,
    -- | Configures the processing job to run a specified container image.
    DescribeProcessingJobResponse -> AppSpecification
appSpecification :: AppSpecification,
    -- | The Amazon Resource Name (ARN) of the processing job.
    DescribeProcessingJobResponse -> Text
processingJobArn :: Prelude.Text,
    -- | Provides the status of a processing job.
    DescribeProcessingJobResponse -> ProcessingJobStatus
processingJobStatus :: ProcessingJobStatus,
    -- | The time at which the processing job was created.
    DescribeProcessingJobResponse -> POSIX
creationTime :: Core.POSIX
  }
  deriving (DescribeProcessingJobResponse
-> DescribeProcessingJobResponse -> Bool
(DescribeProcessingJobResponse
 -> DescribeProcessingJobResponse -> Bool)
-> (DescribeProcessingJobResponse
    -> DescribeProcessingJobResponse -> Bool)
-> Eq DescribeProcessingJobResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeProcessingJobResponse
-> DescribeProcessingJobResponse -> Bool
$c/= :: DescribeProcessingJobResponse
-> DescribeProcessingJobResponse -> Bool
== :: DescribeProcessingJobResponse
-> DescribeProcessingJobResponse -> Bool
$c== :: DescribeProcessingJobResponse
-> DescribeProcessingJobResponse -> Bool
Prelude.Eq, ReadPrec [DescribeProcessingJobResponse]
ReadPrec DescribeProcessingJobResponse
Int -> ReadS DescribeProcessingJobResponse
ReadS [DescribeProcessingJobResponse]
(Int -> ReadS DescribeProcessingJobResponse)
-> ReadS [DescribeProcessingJobResponse]
-> ReadPrec DescribeProcessingJobResponse
-> ReadPrec [DescribeProcessingJobResponse]
-> Read DescribeProcessingJobResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeProcessingJobResponse]
$creadListPrec :: ReadPrec [DescribeProcessingJobResponse]
readPrec :: ReadPrec DescribeProcessingJobResponse
$creadPrec :: ReadPrec DescribeProcessingJobResponse
readList :: ReadS [DescribeProcessingJobResponse]
$creadList :: ReadS [DescribeProcessingJobResponse]
readsPrec :: Int -> ReadS DescribeProcessingJobResponse
$creadsPrec :: Int -> ReadS DescribeProcessingJobResponse
Prelude.Read, Int -> DescribeProcessingJobResponse -> ShowS
[DescribeProcessingJobResponse] -> ShowS
DescribeProcessingJobResponse -> String
(Int -> DescribeProcessingJobResponse -> ShowS)
-> (DescribeProcessingJobResponse -> String)
-> ([DescribeProcessingJobResponse] -> ShowS)
-> Show DescribeProcessingJobResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeProcessingJobResponse] -> ShowS
$cshowList :: [DescribeProcessingJobResponse] -> ShowS
show :: DescribeProcessingJobResponse -> String
$cshow :: DescribeProcessingJobResponse -> String
showsPrec :: Int -> DescribeProcessingJobResponse -> ShowS
$cshowsPrec :: Int -> DescribeProcessingJobResponse -> ShowS
Prelude.Show, (forall x.
 DescribeProcessingJobResponse
 -> Rep DescribeProcessingJobResponse x)
-> (forall x.
    Rep DescribeProcessingJobResponse x
    -> DescribeProcessingJobResponse)
-> Generic DescribeProcessingJobResponse
forall x.
Rep DescribeProcessingJobResponse x
-> DescribeProcessingJobResponse
forall x.
DescribeProcessingJobResponse
-> Rep DescribeProcessingJobResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeProcessingJobResponse x
-> DescribeProcessingJobResponse
$cfrom :: forall x.
DescribeProcessingJobResponse
-> Rep DescribeProcessingJobResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeProcessingJobResponse' 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', 'describeProcessingJobResponse_failureReason' - A string, up to one KB in size, that contains the reason a processing
-- job failed, if it failed.
--
-- 'monitoringScheduleArn', 'describeProcessingJobResponse_monitoringScheduleArn' - The ARN of a monitoring schedule for an endpoint associated with this
-- processing job.
--
-- 'environment', 'describeProcessingJobResponse_environment' - The environment variables set in the Docker container.
--
-- 'stoppingCondition', 'describeProcessingJobResponse_stoppingCondition' - The time limit for how long the processing job is allowed to run.
--
-- 'experimentConfig', 'describeProcessingJobResponse_experimentConfig' - The configuration information used to create an experiment.
--
-- 'lastModifiedTime', 'describeProcessingJobResponse_lastModifiedTime' - The time at which the processing job was last modified.
--
-- 'processingInputs', 'describeProcessingJobResponse_processingInputs' - The inputs for a processing job.
--
-- 'networkConfig', 'describeProcessingJobResponse_networkConfig' - Networking options for a processing job.
--
-- 'autoMLJobArn', 'describeProcessingJobResponse_autoMLJobArn' - The ARN of an AutoML job associated with this processing job.
--
-- 'trainingJobArn', 'describeProcessingJobResponse_trainingJobArn' - The ARN of a training job associated with this processing job.
--
-- 'exitMessage', 'describeProcessingJobResponse_exitMessage' - An optional string, up to one KB in size, that contains metadata from
-- the processing container when the processing job exits.
--
-- 'processingOutputConfig', 'describeProcessingJobResponse_processingOutputConfig' - Output configuration for the processing job.
--
-- 'processingStartTime', 'describeProcessingJobResponse_processingStartTime' - The time at which the processing job started.
--
-- 'processingEndTime', 'describeProcessingJobResponse_processingEndTime' - The time at which the processing job completed.
--
-- 'roleArn', 'describeProcessingJobResponse_roleArn' - The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
-- assume to perform tasks on your behalf.
--
-- 'httpStatus', 'describeProcessingJobResponse_httpStatus' - The response's http status code.
--
-- 'processingJobName', 'describeProcessingJobResponse_processingJobName' - The name of the processing job. The name must be unique within an Amazon
-- Web Services Region in the Amazon Web Services account.
--
-- 'processingResources', 'describeProcessingJobResponse_processingResources' - Identifies the resources, ML compute instances, and ML storage volumes
-- to deploy for a processing job. In distributed training, you specify
-- more than one instance.
--
-- 'appSpecification', 'describeProcessingJobResponse_appSpecification' - Configures the processing job to run a specified container image.
--
-- 'processingJobArn', 'describeProcessingJobResponse_processingJobArn' - The Amazon Resource Name (ARN) of the processing job.
--
-- 'processingJobStatus', 'describeProcessingJobResponse_processingJobStatus' - Provides the status of a processing job.
--
-- 'creationTime', 'describeProcessingJobResponse_creationTime' - The time at which the processing job was created.
newDescribeProcessingJobResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'processingJobName'
  Prelude.Text ->
  -- | 'processingResources'
  ProcessingResources ->
  -- | 'appSpecification'
  AppSpecification ->
  -- | 'processingJobArn'
  Prelude.Text ->
  -- | 'processingJobStatus'
  ProcessingJobStatus ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  DescribeProcessingJobResponse
newDescribeProcessingJobResponse :: Int
-> Text
-> ProcessingResources
-> AppSpecification
-> Text
-> ProcessingJobStatus
-> UTCTime
-> DescribeProcessingJobResponse
newDescribeProcessingJobResponse
  Int
pHttpStatus_
  Text
pProcessingJobName_
  ProcessingResources
pProcessingResources_
  AppSpecification
pAppSpecification_
  Text
pProcessingJobArn_
  ProcessingJobStatus
pProcessingJobStatus_
  UTCTime
pCreationTime_ =
    DescribeProcessingJobResponse' :: Maybe Text
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe ProcessingStoppingCondition
-> Maybe ExperimentConfig
-> Maybe POSIX
-> Maybe [ProcessingInput]
-> Maybe NetworkConfig
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ProcessingOutputConfig
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Int
-> Text
-> ProcessingResources
-> AppSpecification
-> Text
-> ProcessingJobStatus
-> POSIX
-> DescribeProcessingJobResponse
DescribeProcessingJobResponse'
      { $sel:failureReason:DescribeProcessingJobResponse' :: Maybe Text
failureReason =
          Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:monitoringScheduleArn:DescribeProcessingJobResponse' :: Maybe Text
monitoringScheduleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:environment:DescribeProcessingJobResponse' :: Maybe (HashMap Text Text)
environment = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
        $sel:stoppingCondition:DescribeProcessingJobResponse' :: Maybe ProcessingStoppingCondition
stoppingCondition = Maybe ProcessingStoppingCondition
forall a. Maybe a
Prelude.Nothing,
        $sel:experimentConfig:DescribeProcessingJobResponse' :: Maybe ExperimentConfig
experimentConfig = Maybe ExperimentConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:lastModifiedTime:DescribeProcessingJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:processingInputs:DescribeProcessingJobResponse' :: Maybe [ProcessingInput]
processingInputs = Maybe [ProcessingInput]
forall a. Maybe a
Prelude.Nothing,
        $sel:networkConfig:DescribeProcessingJobResponse' :: Maybe NetworkConfig
networkConfig = Maybe NetworkConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:autoMLJobArn:DescribeProcessingJobResponse' :: Maybe Text
autoMLJobArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:trainingJobArn:DescribeProcessingJobResponse' :: Maybe Text
trainingJobArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:exitMessage:DescribeProcessingJobResponse' :: Maybe Text
exitMessage = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:processingOutputConfig:DescribeProcessingJobResponse' :: Maybe ProcessingOutputConfig
processingOutputConfig = Maybe ProcessingOutputConfig
forall a. Maybe a
Prelude.Nothing,
        $sel:processingStartTime:DescribeProcessingJobResponse' :: Maybe POSIX
processingStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:processingEndTime:DescribeProcessingJobResponse' :: Maybe POSIX
processingEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
        $sel:roleArn:DescribeProcessingJobResponse' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeProcessingJobResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:processingJobName:DescribeProcessingJobResponse' :: Text
processingJobName = Text
pProcessingJobName_,
        $sel:processingResources:DescribeProcessingJobResponse' :: ProcessingResources
processingResources = ProcessingResources
pProcessingResources_,
        $sel:appSpecification:DescribeProcessingJobResponse' :: AppSpecification
appSpecification = AppSpecification
pAppSpecification_,
        $sel:processingJobArn:DescribeProcessingJobResponse' :: Text
processingJobArn = Text
pProcessingJobArn_,
        $sel:processingJobStatus:DescribeProcessingJobResponse' :: ProcessingJobStatus
processingJobStatus = ProcessingJobStatus
pProcessingJobStatus_,
        $sel:creationTime:DescribeProcessingJobResponse' :: 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_
      }

-- | A string, up to one KB in size, that contains the reason a processing
-- job failed, if it failed.
describeProcessingJobResponse_failureReason :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_failureReason = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:failureReason:DescribeProcessingJobResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeProcessingJobResponse)

-- | The ARN of a monitoring schedule for an endpoint associated with this
-- processing job.
describeProcessingJobResponse_monitoringScheduleArn :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_monitoringScheduleArn :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_monitoringScheduleArn = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
monitoringScheduleArn :: Maybe Text
$sel:monitoringScheduleArn:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
monitoringScheduleArn} -> Maybe Text
monitoringScheduleArn) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:monitoringScheduleArn:DescribeProcessingJobResponse' :: Maybe Text
monitoringScheduleArn = Maybe Text
a} :: DescribeProcessingJobResponse)

-- | The environment variables set in the Docker container.
describeProcessingJobResponse_environment :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
describeProcessingJobResponse_environment :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_environment = (DescribeProcessingJobResponse -> Maybe (HashMap Text Text))
-> (DescribeProcessingJobResponse
    -> Maybe (HashMap Text Text) -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe (HashMap Text Text)
environment :: Maybe (HashMap Text Text)
$sel:environment:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe (HashMap Text Text)
environment} -> Maybe (HashMap Text Text)
environment) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe (HashMap Text Text)
a -> DescribeProcessingJobResponse
s {$sel:environment:DescribeProcessingJobResponse' :: Maybe (HashMap Text Text)
environment = Maybe (HashMap Text Text)
a} :: DescribeProcessingJobResponse) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
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
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The time limit for how long the processing job is allowed to run.
describeProcessingJobResponse_stoppingCondition :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe ProcessingStoppingCondition)
describeProcessingJobResponse_stoppingCondition :: (Maybe ProcessingStoppingCondition
 -> f (Maybe ProcessingStoppingCondition))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_stoppingCondition = (DescribeProcessingJobResponse
 -> Maybe ProcessingStoppingCondition)
-> (DescribeProcessingJobResponse
    -> Maybe ProcessingStoppingCondition
    -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe ProcessingStoppingCondition)
     (Maybe ProcessingStoppingCondition)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe ProcessingStoppingCondition
stoppingCondition :: Maybe ProcessingStoppingCondition
$sel:stoppingCondition:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe ProcessingStoppingCondition
stoppingCondition} -> Maybe ProcessingStoppingCondition
stoppingCondition) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe ProcessingStoppingCondition
a -> DescribeProcessingJobResponse
s {$sel:stoppingCondition:DescribeProcessingJobResponse' :: Maybe ProcessingStoppingCondition
stoppingCondition = Maybe ProcessingStoppingCondition
a} :: DescribeProcessingJobResponse)

-- | The configuration information used to create an experiment.
describeProcessingJobResponse_experimentConfig :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe ExperimentConfig)
describeProcessingJobResponse_experimentConfig :: (Maybe ExperimentConfig -> f (Maybe ExperimentConfig))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_experimentConfig = (DescribeProcessingJobResponse -> Maybe ExperimentConfig)
-> (DescribeProcessingJobResponse
    -> Maybe ExperimentConfig -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe ExperimentConfig)
     (Maybe ExperimentConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe ExperimentConfig
experimentConfig :: Maybe ExperimentConfig
$sel:experimentConfig:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe ExperimentConfig
experimentConfig} -> Maybe ExperimentConfig
experimentConfig) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe ExperimentConfig
a -> DescribeProcessingJobResponse
s {$sel:experimentConfig:DescribeProcessingJobResponse' :: Maybe ExperimentConfig
experimentConfig = Maybe ExperimentConfig
a} :: DescribeProcessingJobResponse)

-- | The time at which the processing job was last modified.
describeProcessingJobResponse_lastModifiedTime :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.UTCTime)
describeProcessingJobResponse_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_lastModifiedTime = (DescribeProcessingJobResponse -> Maybe POSIX)
-> (DescribeProcessingJobResponse
    -> Maybe POSIX -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe POSIX
a -> DescribeProcessingJobResponse
s {$sel:lastModifiedTime:DescribeProcessingJobResponse' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: DescribeProcessingJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
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

-- | The inputs for a processing job.
describeProcessingJobResponse_processingInputs :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe [ProcessingInput])
describeProcessingJobResponse_processingInputs :: (Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingInputs = (DescribeProcessingJobResponse -> Maybe [ProcessingInput])
-> (DescribeProcessingJobResponse
    -> Maybe [ProcessingInput] -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe [ProcessingInput])
     (Maybe [ProcessingInput])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe [ProcessingInput]
processingInputs :: Maybe [ProcessingInput]
$sel:processingInputs:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe [ProcessingInput]
processingInputs} -> Maybe [ProcessingInput]
processingInputs) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe [ProcessingInput]
a -> DescribeProcessingJobResponse
s {$sel:processingInputs:DescribeProcessingJobResponse' :: Maybe [ProcessingInput]
processingInputs = Maybe [ProcessingInput]
a} :: DescribeProcessingJobResponse) ((Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
    -> Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> (Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [ProcessingInput]
  [ProcessingInput]
  [ProcessingInput]
  [ProcessingInput]
-> Iso
     (Maybe [ProcessingInput])
     (Maybe [ProcessingInput])
     (Maybe [ProcessingInput])
     (Maybe [ProcessingInput])
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
  [ProcessingInput]
  [ProcessingInput]
  [ProcessingInput]
  [ProcessingInput]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Networking options for a processing job.
describeProcessingJobResponse_networkConfig :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe NetworkConfig)
describeProcessingJobResponse_networkConfig :: (Maybe NetworkConfig -> f (Maybe NetworkConfig))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_networkConfig = (DescribeProcessingJobResponse -> Maybe NetworkConfig)
-> (DescribeProcessingJobResponse
    -> Maybe NetworkConfig -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe NetworkConfig)
     (Maybe NetworkConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe NetworkConfig
networkConfig :: Maybe NetworkConfig
$sel:networkConfig:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe NetworkConfig
networkConfig} -> Maybe NetworkConfig
networkConfig) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe NetworkConfig
a -> DescribeProcessingJobResponse
s {$sel:networkConfig:DescribeProcessingJobResponse' :: Maybe NetworkConfig
networkConfig = Maybe NetworkConfig
a} :: DescribeProcessingJobResponse)

-- | The ARN of an AutoML job associated with this processing job.
describeProcessingJobResponse_autoMLJobArn :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_autoMLJobArn :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_autoMLJobArn = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
autoMLJobArn :: Maybe Text
$sel:autoMLJobArn:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
autoMLJobArn} -> Maybe Text
autoMLJobArn) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:autoMLJobArn:DescribeProcessingJobResponse' :: Maybe Text
autoMLJobArn = Maybe Text
a} :: DescribeProcessingJobResponse)

-- | The ARN of a training job associated with this processing job.
describeProcessingJobResponse_trainingJobArn :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_trainingJobArn :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_trainingJobArn = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
trainingJobArn :: Maybe Text
$sel:trainingJobArn:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
trainingJobArn} -> Maybe Text
trainingJobArn) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:trainingJobArn:DescribeProcessingJobResponse' :: Maybe Text
trainingJobArn = Maybe Text
a} :: DescribeProcessingJobResponse)

-- | An optional string, up to one KB in size, that contains metadata from
-- the processing container when the processing job exits.
describeProcessingJobResponse_exitMessage :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_exitMessage :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_exitMessage = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
exitMessage :: Maybe Text
$sel:exitMessage:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
exitMessage} -> Maybe Text
exitMessage) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:exitMessage:DescribeProcessingJobResponse' :: Maybe Text
exitMessage = Maybe Text
a} :: DescribeProcessingJobResponse)

-- | Output configuration for the processing job.
describeProcessingJobResponse_processingOutputConfig :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe ProcessingOutputConfig)
describeProcessingJobResponse_processingOutputConfig :: (Maybe ProcessingOutputConfig -> f (Maybe ProcessingOutputConfig))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingOutputConfig = (DescribeProcessingJobResponse -> Maybe ProcessingOutputConfig)
-> (DescribeProcessingJobResponse
    -> Maybe ProcessingOutputConfig -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe ProcessingOutputConfig)
     (Maybe ProcessingOutputConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe ProcessingOutputConfig
processingOutputConfig :: Maybe ProcessingOutputConfig
$sel:processingOutputConfig:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe ProcessingOutputConfig
processingOutputConfig} -> Maybe ProcessingOutputConfig
processingOutputConfig) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe ProcessingOutputConfig
a -> DescribeProcessingJobResponse
s {$sel:processingOutputConfig:DescribeProcessingJobResponse' :: Maybe ProcessingOutputConfig
processingOutputConfig = Maybe ProcessingOutputConfig
a} :: DescribeProcessingJobResponse)

-- | The time at which the processing job started.
describeProcessingJobResponse_processingStartTime :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.UTCTime)
describeProcessingJobResponse_processingStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingStartTime = (DescribeProcessingJobResponse -> Maybe POSIX)
-> (DescribeProcessingJobResponse
    -> Maybe POSIX -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe POSIX
processingStartTime :: Maybe POSIX
$sel:processingStartTime:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe POSIX
processingStartTime} -> Maybe POSIX
processingStartTime) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe POSIX
a -> DescribeProcessingJobResponse
s {$sel:processingStartTime:DescribeProcessingJobResponse' :: Maybe POSIX
processingStartTime = Maybe POSIX
a} :: DescribeProcessingJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
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

-- | The time at which the processing job completed.
describeProcessingJobResponse_processingEndTime :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.UTCTime)
describeProcessingJobResponse_processingEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingEndTime = (DescribeProcessingJobResponse -> Maybe POSIX)
-> (DescribeProcessingJobResponse
    -> Maybe POSIX -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe POSIX
processingEndTime :: Maybe POSIX
$sel:processingEndTime:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe POSIX
processingEndTime} -> Maybe POSIX
processingEndTime) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe POSIX
a -> DescribeProcessingJobResponse
s {$sel:processingEndTime:DescribeProcessingJobResponse' :: Maybe POSIX
processingEndTime = Maybe POSIX
a} :: DescribeProcessingJobResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
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

-- | The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can
-- assume to perform tasks on your behalf.
describeProcessingJobResponse_roleArn :: Lens.Lens' DescribeProcessingJobResponse (Prelude.Maybe Prelude.Text)
describeProcessingJobResponse_roleArn :: (Maybe Text -> f (Maybe Text))
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_roleArn = (DescribeProcessingJobResponse -> Maybe Text)
-> (DescribeProcessingJobResponse
    -> Maybe Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Maybe Text
a -> DescribeProcessingJobResponse
s {$sel:roleArn:DescribeProcessingJobResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeProcessingJobResponse)

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

-- | The name of the processing job. The name must be unique within an Amazon
-- Web Services Region in the Amazon Web Services account.
describeProcessingJobResponse_processingJobName :: Lens.Lens' DescribeProcessingJobResponse Prelude.Text
describeProcessingJobResponse_processingJobName :: (Text -> f Text)
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingJobName = (DescribeProcessingJobResponse -> Text)
-> (DescribeProcessingJobResponse
    -> Text -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {Text
processingJobName :: Text
$sel:processingJobName:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> Text
processingJobName} -> Text
processingJobName) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} Text
a -> DescribeProcessingJobResponse
s {$sel:processingJobName:DescribeProcessingJobResponse' :: Text
processingJobName = Text
a} :: DescribeProcessingJobResponse)

-- | Identifies the resources, ML compute instances, and ML storage volumes
-- to deploy for a processing job. In distributed training, you specify
-- more than one instance.
describeProcessingJobResponse_processingResources :: Lens.Lens' DescribeProcessingJobResponse ProcessingResources
describeProcessingJobResponse_processingResources :: (ProcessingResources -> f ProcessingResources)
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingResources = (DescribeProcessingJobResponse -> ProcessingResources)
-> (DescribeProcessingJobResponse
    -> ProcessingResources -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     ProcessingResources
     ProcessingResources
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {ProcessingResources
processingResources :: ProcessingResources
$sel:processingResources:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> ProcessingResources
processingResources} -> ProcessingResources
processingResources) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} ProcessingResources
a -> DescribeProcessingJobResponse
s {$sel:processingResources:DescribeProcessingJobResponse' :: ProcessingResources
processingResources = ProcessingResources
a} :: DescribeProcessingJobResponse)

-- | Configures the processing job to run a specified container image.
describeProcessingJobResponse_appSpecification :: Lens.Lens' DescribeProcessingJobResponse AppSpecification
describeProcessingJobResponse_appSpecification :: (AppSpecification -> f AppSpecification)
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_appSpecification = (DescribeProcessingJobResponse -> AppSpecification)
-> (DescribeProcessingJobResponse
    -> AppSpecification -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     AppSpecification
     AppSpecification
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {AppSpecification
appSpecification :: AppSpecification
$sel:appSpecification:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> AppSpecification
appSpecification} -> AppSpecification
appSpecification) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} AppSpecification
a -> DescribeProcessingJobResponse
s {$sel:appSpecification:DescribeProcessingJobResponse' :: AppSpecification
appSpecification = AppSpecification
a} :: DescribeProcessingJobResponse)

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

-- | Provides the status of a processing job.
describeProcessingJobResponse_processingJobStatus :: Lens.Lens' DescribeProcessingJobResponse ProcessingJobStatus
describeProcessingJobResponse_processingJobStatus :: (ProcessingJobStatus -> f ProcessingJobStatus)
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_processingJobStatus = (DescribeProcessingJobResponse -> ProcessingJobStatus)
-> (DescribeProcessingJobResponse
    -> ProcessingJobStatus -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     ProcessingJobStatus
     ProcessingJobStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {ProcessingJobStatus
processingJobStatus :: ProcessingJobStatus
$sel:processingJobStatus:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> ProcessingJobStatus
processingJobStatus} -> ProcessingJobStatus
processingJobStatus) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} ProcessingJobStatus
a -> DescribeProcessingJobResponse
s {$sel:processingJobStatus:DescribeProcessingJobResponse' :: ProcessingJobStatus
processingJobStatus = ProcessingJobStatus
a} :: DescribeProcessingJobResponse)

-- | The time at which the processing job was created.
describeProcessingJobResponse_creationTime :: Lens.Lens' DescribeProcessingJobResponse Prelude.UTCTime
describeProcessingJobResponse_creationTime :: (UTCTime -> f UTCTime)
-> DescribeProcessingJobResponse -> f DescribeProcessingJobResponse
describeProcessingJobResponse_creationTime = (DescribeProcessingJobResponse -> POSIX)
-> (DescribeProcessingJobResponse
    -> POSIX -> DescribeProcessingJobResponse)
-> Lens
     DescribeProcessingJobResponse
     DescribeProcessingJobResponse
     POSIX
     POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeProcessingJobResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeProcessingJobResponse' :: DescribeProcessingJobResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeProcessingJobResponse
s@DescribeProcessingJobResponse' {} POSIX
a -> DescribeProcessingJobResponse
s {$sel:creationTime:DescribeProcessingJobResponse' :: POSIX
creationTime = POSIX
a} :: DescribeProcessingJobResponse) ((POSIX -> f POSIX)
 -> DescribeProcessingJobResponse
 -> f DescribeProcessingJobResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeProcessingJobResponse
-> f DescribeProcessingJobResponse
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

instance Prelude.NFData DescribeProcessingJobResponse