{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.SageMaker.Types.ProcessingJob
-- 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)
module Amazonka.SageMaker.Types.ProcessingJob where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.AppSpecification
import Amazonka.SageMaker.Types.ExperimentConfig
import Amazonka.SageMaker.Types.NetworkConfig
import Amazonka.SageMaker.Types.ProcessingInput
import Amazonka.SageMaker.Types.ProcessingJobStatus
import Amazonka.SageMaker.Types.ProcessingOutputConfig
import Amazonka.SageMaker.Types.ProcessingResources
import Amazonka.SageMaker.Types.ProcessingStoppingCondition
import Amazonka.SageMaker.Types.Tag

-- | An Amazon SageMaker processing job that is used to analyze data and
-- evaluate models. For more information, see
-- <https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html Process Data and Evaluate Models>.
--
-- /See:/ 'newProcessingJob' smart constructor.
data ProcessingJob = ProcessingJob'
  { -- | The time the processing job was created.
    ProcessingJob -> Maybe POSIX
creationTime :: Prelude.Maybe Core.POSIX,
    -- | A string, up to one KB in size, that contains the reason a processing
    -- job failed, if it failed.
    ProcessingJob -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The ARN of a monitoring schedule for an endpoint associated with this
    -- processing job.
    ProcessingJob -> Maybe Text
monitoringScheduleArn :: Prelude.Maybe Prelude.Text,
    ProcessingJob -> Maybe AppSpecification
appSpecification :: Prelude.Maybe AppSpecification,
    ProcessingJob -> Maybe ProcessingResources
processingResources :: Prelude.Maybe ProcessingResources,
    -- | Sets the environment variables in the Docker container.
    ProcessingJob -> Maybe (HashMap Text Text)
environment :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The name of the processing job.
    ProcessingJob -> Maybe Text
processingJobName :: Prelude.Maybe Prelude.Text,
    ProcessingJob -> Maybe ProcessingStoppingCondition
stoppingCondition :: Prelude.Maybe ProcessingStoppingCondition,
    ProcessingJob -> Maybe ExperimentConfig
experimentConfig :: Prelude.Maybe ExperimentConfig,
    -- | The time the processing job was last modified.
    ProcessingJob -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | List of input configurations for the processing job.
    ProcessingJob -> Maybe [ProcessingInput]
processingInputs :: Prelude.Maybe [ProcessingInput],
    ProcessingJob -> Maybe NetworkConfig
networkConfig :: Prelude.Maybe NetworkConfig,
    -- | The Amazon Resource Name (ARN) of the AutoML job associated with this
    -- processing job.
    ProcessingJob -> Maybe Text
autoMLJobArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the training job associated with this processing job.
    ProcessingJob -> Maybe Text
trainingJobArn :: Prelude.Maybe Prelude.Text,
    -- | The status of the processing job.
    ProcessingJob -> Maybe ProcessingJobStatus
processingJobStatus :: Prelude.Maybe ProcessingJobStatus,
    -- | A string, up to one KB in size, that contains metadata from the
    -- processing container when the processing job exits.
    ProcessingJob -> Maybe Text
exitMessage :: Prelude.Maybe Prelude.Text,
    ProcessingJob -> Maybe ProcessingOutputConfig
processingOutputConfig :: Prelude.Maybe ProcessingOutputConfig,
    -- | The time that the processing job started.
    ProcessingJob -> Maybe POSIX
processingStartTime :: Prelude.Maybe Core.POSIX,
    -- | The time that the processing job ended.
    ProcessingJob -> Maybe POSIX
processingEndTime :: Prelude.Maybe Core.POSIX,
    -- | An array of key-value pairs. For more information, see
    -- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
    -- in the /Amazon Web Services Billing and Cost Management User Guide/.
    ProcessingJob -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
    -- | The ARN of the processing job.
    ProcessingJob -> Maybe Text
processingJobArn :: Prelude.Maybe Prelude.Text,
    -- | The ARN of the role used to create the processing job.
    ProcessingJob -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text
  }
  deriving (ProcessingJob -> ProcessingJob -> Bool
(ProcessingJob -> ProcessingJob -> Bool)
-> (ProcessingJob -> ProcessingJob -> Bool) -> Eq ProcessingJob
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProcessingJob -> ProcessingJob -> Bool
$c/= :: ProcessingJob -> ProcessingJob -> Bool
== :: ProcessingJob -> ProcessingJob -> Bool
$c== :: ProcessingJob -> ProcessingJob -> Bool
Prelude.Eq, ReadPrec [ProcessingJob]
ReadPrec ProcessingJob
Int -> ReadS ProcessingJob
ReadS [ProcessingJob]
(Int -> ReadS ProcessingJob)
-> ReadS [ProcessingJob]
-> ReadPrec ProcessingJob
-> ReadPrec [ProcessingJob]
-> Read ProcessingJob
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ProcessingJob]
$creadListPrec :: ReadPrec [ProcessingJob]
readPrec :: ReadPrec ProcessingJob
$creadPrec :: ReadPrec ProcessingJob
readList :: ReadS [ProcessingJob]
$creadList :: ReadS [ProcessingJob]
readsPrec :: Int -> ReadS ProcessingJob
$creadsPrec :: Int -> ReadS ProcessingJob
Prelude.Read, Int -> ProcessingJob -> ShowS
[ProcessingJob] -> ShowS
ProcessingJob -> String
(Int -> ProcessingJob -> ShowS)
-> (ProcessingJob -> String)
-> ([ProcessingJob] -> ShowS)
-> Show ProcessingJob
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProcessingJob] -> ShowS
$cshowList :: [ProcessingJob] -> ShowS
show :: ProcessingJob -> String
$cshow :: ProcessingJob -> String
showsPrec :: Int -> ProcessingJob -> ShowS
$cshowsPrec :: Int -> ProcessingJob -> ShowS
Prelude.Show, (forall x. ProcessingJob -> Rep ProcessingJob x)
-> (forall x. Rep ProcessingJob x -> ProcessingJob)
-> Generic ProcessingJob
forall x. Rep ProcessingJob x -> ProcessingJob
forall x. ProcessingJob -> Rep ProcessingJob x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProcessingJob x -> ProcessingJob
$cfrom :: forall x. ProcessingJob -> Rep ProcessingJob x
Prelude.Generic)

-- |
-- Create a value of 'ProcessingJob' 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:
--
-- 'creationTime', 'processingJob_creationTime' - The time the processing job was created.
--
-- 'failureReason', 'processingJob_failureReason' - A string, up to one KB in size, that contains the reason a processing
-- job failed, if it failed.
--
-- 'monitoringScheduleArn', 'processingJob_monitoringScheduleArn' - The ARN of a monitoring schedule for an endpoint associated with this
-- processing job.
--
-- 'appSpecification', 'processingJob_appSpecification' - Undocumented member.
--
-- 'processingResources', 'processingJob_processingResources' - Undocumented member.
--
-- 'environment', 'processingJob_environment' - Sets the environment variables in the Docker container.
--
-- 'processingJobName', 'processingJob_processingJobName' - The name of the processing job.
--
-- 'stoppingCondition', 'processingJob_stoppingCondition' - Undocumented member.
--
-- 'experimentConfig', 'processingJob_experimentConfig' - Undocumented member.
--
-- 'lastModifiedTime', 'processingJob_lastModifiedTime' - The time the processing job was last modified.
--
-- 'processingInputs', 'processingJob_processingInputs' - List of input configurations for the processing job.
--
-- 'networkConfig', 'processingJob_networkConfig' - Undocumented member.
--
-- 'autoMLJobArn', 'processingJob_autoMLJobArn' - The Amazon Resource Name (ARN) of the AutoML job associated with this
-- processing job.
--
-- 'trainingJobArn', 'processingJob_trainingJobArn' - The ARN of the training job associated with this processing job.
--
-- 'processingJobStatus', 'processingJob_processingJobStatus' - The status of the processing job.
--
-- 'exitMessage', 'processingJob_exitMessage' - A string, up to one KB in size, that contains metadata from the
-- processing container when the processing job exits.
--
-- 'processingOutputConfig', 'processingJob_processingOutputConfig' - Undocumented member.
--
-- 'processingStartTime', 'processingJob_processingStartTime' - The time that the processing job started.
--
-- 'processingEndTime', 'processingJob_processingEndTime' - The time that the processing job ended.
--
-- 'tags', 'processingJob_tags' - An array of key-value pairs. For more information, see
-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
-- in the /Amazon Web Services Billing and Cost Management User Guide/.
--
-- 'processingJobArn', 'processingJob_processingJobArn' - The ARN of the processing job.
--
-- 'roleArn', 'processingJob_roleArn' - The ARN of the role used to create the processing job.
newProcessingJob ::
  ProcessingJob
newProcessingJob :: ProcessingJob
newProcessingJob =
  ProcessingJob' :: Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe AppSpecification
-> Maybe ProcessingResources
-> Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe ProcessingStoppingCondition
-> Maybe ExperimentConfig
-> Maybe POSIX
-> Maybe [ProcessingInput]
-> Maybe NetworkConfig
-> Maybe Text
-> Maybe Text
-> Maybe ProcessingJobStatus
-> Maybe Text
-> Maybe ProcessingOutputConfig
-> Maybe POSIX
-> Maybe POSIX
-> Maybe [Tag]
-> Maybe Text
-> Maybe Text
-> ProcessingJob
ProcessingJob'
    { $sel:creationTime:ProcessingJob' :: Maybe POSIX
creationTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:failureReason:ProcessingJob' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringScheduleArn:ProcessingJob' :: Maybe Text
monitoringScheduleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:appSpecification:ProcessingJob' :: Maybe AppSpecification
appSpecification = Maybe AppSpecification
forall a. Maybe a
Prelude.Nothing,
      $sel:processingResources:ProcessingJob' :: Maybe ProcessingResources
processingResources = Maybe ProcessingResources
forall a. Maybe a
Prelude.Nothing,
      $sel:environment:ProcessingJob' :: Maybe (HashMap Text Text)
environment = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:processingJobName:ProcessingJob' :: Maybe Text
processingJobName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:stoppingCondition:ProcessingJob' :: Maybe ProcessingStoppingCondition
stoppingCondition = Maybe ProcessingStoppingCondition
forall a. Maybe a
Prelude.Nothing,
      $sel:experimentConfig:ProcessingJob' :: Maybe ExperimentConfig
experimentConfig = Maybe ExperimentConfig
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:ProcessingJob' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:processingInputs:ProcessingJob' :: Maybe [ProcessingInput]
processingInputs = Maybe [ProcessingInput]
forall a. Maybe a
Prelude.Nothing,
      $sel:networkConfig:ProcessingJob' :: Maybe NetworkConfig
networkConfig = Maybe NetworkConfig
forall a. Maybe a
Prelude.Nothing,
      $sel:autoMLJobArn:ProcessingJob' :: Maybe Text
autoMLJobArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingJobArn:ProcessingJob' :: Maybe Text
trainingJobArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:processingJobStatus:ProcessingJob' :: Maybe ProcessingJobStatus
processingJobStatus = Maybe ProcessingJobStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:exitMessage:ProcessingJob' :: Maybe Text
exitMessage = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:processingOutputConfig:ProcessingJob' :: Maybe ProcessingOutputConfig
processingOutputConfig = Maybe ProcessingOutputConfig
forall a. Maybe a
Prelude.Nothing,
      $sel:processingStartTime:ProcessingJob' :: Maybe POSIX
processingStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:processingEndTime:ProcessingJob' :: Maybe POSIX
processingEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:ProcessingJob' :: Maybe [Tag]
tags = Maybe [Tag]
forall a. Maybe a
Prelude.Nothing,
      $sel:processingJobArn:ProcessingJob' :: Maybe Text
processingJobArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:ProcessingJob' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The time the processing job was created.
processingJob_creationTime :: Lens.Lens' ProcessingJob (Prelude.Maybe Prelude.UTCTime)
processingJob_creationTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob -> f ProcessingJob
processingJob_creationTime = (ProcessingJob -> Maybe POSIX)
-> (ProcessingJob -> Maybe POSIX -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe POSIX
creationTime :: Maybe POSIX
$sel:creationTime:ProcessingJob' :: ProcessingJob -> Maybe POSIX
creationTime} -> Maybe POSIX
creationTime) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe POSIX
a -> ProcessingJob
s {$sel:creationTime:ProcessingJob' :: Maybe POSIX
creationTime = Maybe POSIX
a} :: ProcessingJob) ((Maybe POSIX -> f (Maybe POSIX))
 -> ProcessingJob -> f ProcessingJob)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob
-> f ProcessingJob
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

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

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

-- | Undocumented member.
processingJob_appSpecification :: Lens.Lens' ProcessingJob (Prelude.Maybe AppSpecification)
processingJob_appSpecification :: (Maybe AppSpecification -> f (Maybe AppSpecification))
-> ProcessingJob -> f ProcessingJob
processingJob_appSpecification = (ProcessingJob -> Maybe AppSpecification)
-> (ProcessingJob -> Maybe AppSpecification -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe AppSpecification)
     (Maybe AppSpecification)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe AppSpecification
appSpecification :: Maybe AppSpecification
$sel:appSpecification:ProcessingJob' :: ProcessingJob -> Maybe AppSpecification
appSpecification} -> Maybe AppSpecification
appSpecification) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe AppSpecification
a -> ProcessingJob
s {$sel:appSpecification:ProcessingJob' :: Maybe AppSpecification
appSpecification = Maybe AppSpecification
a} :: ProcessingJob)

-- | Undocumented member.
processingJob_processingResources :: Lens.Lens' ProcessingJob (Prelude.Maybe ProcessingResources)
processingJob_processingResources :: (Maybe ProcessingResources -> f (Maybe ProcessingResources))
-> ProcessingJob -> f ProcessingJob
processingJob_processingResources = (ProcessingJob -> Maybe ProcessingResources)
-> (ProcessingJob -> Maybe ProcessingResources -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe ProcessingResources)
     (Maybe ProcessingResources)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe ProcessingResources
processingResources :: Maybe ProcessingResources
$sel:processingResources:ProcessingJob' :: ProcessingJob -> Maybe ProcessingResources
processingResources} -> Maybe ProcessingResources
processingResources) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe ProcessingResources
a -> ProcessingJob
s {$sel:processingResources:ProcessingJob' :: Maybe ProcessingResources
processingResources = Maybe ProcessingResources
a} :: ProcessingJob)

-- | Sets the environment variables in the Docker container.
processingJob_environment :: Lens.Lens' ProcessingJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
processingJob_environment :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> ProcessingJob -> f ProcessingJob
processingJob_environment = (ProcessingJob -> Maybe (HashMap Text Text))
-> (ProcessingJob -> Maybe (HashMap Text Text) -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (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 (\ProcessingJob' {Maybe (HashMap Text Text)
environment :: Maybe (HashMap Text Text)
$sel:environment:ProcessingJob' :: ProcessingJob -> Maybe (HashMap Text Text)
environment} -> Maybe (HashMap Text Text)
environment) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe (HashMap Text Text)
a -> ProcessingJob
s {$sel:environment:ProcessingJob' :: Maybe (HashMap Text Text)
environment = Maybe (HashMap Text Text)
a} :: ProcessingJob) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> ProcessingJob -> f ProcessingJob)
-> ((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)))
-> ProcessingJob
-> f ProcessingJob
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 name of the processing job.
processingJob_processingJobName :: Lens.Lens' ProcessingJob (Prelude.Maybe Prelude.Text)
processingJob_processingJobName :: (Maybe Text -> f (Maybe Text)) -> ProcessingJob -> f ProcessingJob
processingJob_processingJobName = (ProcessingJob -> Maybe Text)
-> (ProcessingJob -> Maybe Text -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe Text
processingJobName :: Maybe Text
$sel:processingJobName:ProcessingJob' :: ProcessingJob -> Maybe Text
processingJobName} -> Maybe Text
processingJobName) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe Text
a -> ProcessingJob
s {$sel:processingJobName:ProcessingJob' :: Maybe Text
processingJobName = Maybe Text
a} :: ProcessingJob)

-- | Undocumented member.
processingJob_stoppingCondition :: Lens.Lens' ProcessingJob (Prelude.Maybe ProcessingStoppingCondition)
processingJob_stoppingCondition :: (Maybe ProcessingStoppingCondition
 -> f (Maybe ProcessingStoppingCondition))
-> ProcessingJob -> f ProcessingJob
processingJob_stoppingCondition = (ProcessingJob -> Maybe ProcessingStoppingCondition)
-> (ProcessingJob
    -> Maybe ProcessingStoppingCondition -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe ProcessingStoppingCondition)
     (Maybe ProcessingStoppingCondition)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe ProcessingStoppingCondition
stoppingCondition :: Maybe ProcessingStoppingCondition
$sel:stoppingCondition:ProcessingJob' :: ProcessingJob -> Maybe ProcessingStoppingCondition
stoppingCondition} -> Maybe ProcessingStoppingCondition
stoppingCondition) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe ProcessingStoppingCondition
a -> ProcessingJob
s {$sel:stoppingCondition:ProcessingJob' :: Maybe ProcessingStoppingCondition
stoppingCondition = Maybe ProcessingStoppingCondition
a} :: ProcessingJob)

-- | Undocumented member.
processingJob_experimentConfig :: Lens.Lens' ProcessingJob (Prelude.Maybe ExperimentConfig)
processingJob_experimentConfig :: (Maybe ExperimentConfig -> f (Maybe ExperimentConfig))
-> ProcessingJob -> f ProcessingJob
processingJob_experimentConfig = (ProcessingJob -> Maybe ExperimentConfig)
-> (ProcessingJob -> Maybe ExperimentConfig -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe ExperimentConfig)
     (Maybe ExperimentConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe ExperimentConfig
experimentConfig :: Maybe ExperimentConfig
$sel:experimentConfig:ProcessingJob' :: ProcessingJob -> Maybe ExperimentConfig
experimentConfig} -> Maybe ExperimentConfig
experimentConfig) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe ExperimentConfig
a -> ProcessingJob
s {$sel:experimentConfig:ProcessingJob' :: Maybe ExperimentConfig
experimentConfig = Maybe ExperimentConfig
a} :: ProcessingJob)

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

-- | List of input configurations for the processing job.
processingJob_processingInputs :: Lens.Lens' ProcessingJob (Prelude.Maybe [ProcessingInput])
processingJob_processingInputs :: (Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> ProcessingJob -> f ProcessingJob
processingJob_processingInputs = (ProcessingJob -> Maybe [ProcessingInput])
-> (ProcessingJob -> Maybe [ProcessingInput] -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe [ProcessingInput])
     (Maybe [ProcessingInput])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe [ProcessingInput]
processingInputs :: Maybe [ProcessingInput]
$sel:processingInputs:ProcessingJob' :: ProcessingJob -> Maybe [ProcessingInput]
processingInputs} -> Maybe [ProcessingInput]
processingInputs) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe [ProcessingInput]
a -> ProcessingJob
s {$sel:processingInputs:ProcessingJob' :: Maybe [ProcessingInput]
processingInputs = Maybe [ProcessingInput]
a} :: ProcessingJob) ((Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
 -> ProcessingJob -> f ProcessingJob)
-> ((Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
    -> Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> (Maybe [ProcessingInput] -> f (Maybe [ProcessingInput]))
-> ProcessingJob
-> f ProcessingJob
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

-- | Undocumented member.
processingJob_networkConfig :: Lens.Lens' ProcessingJob (Prelude.Maybe NetworkConfig)
processingJob_networkConfig :: (Maybe NetworkConfig -> f (Maybe NetworkConfig))
-> ProcessingJob -> f ProcessingJob
processingJob_networkConfig = (ProcessingJob -> Maybe NetworkConfig)
-> (ProcessingJob -> Maybe NetworkConfig -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe NetworkConfig)
     (Maybe NetworkConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe NetworkConfig
networkConfig :: Maybe NetworkConfig
$sel:networkConfig:ProcessingJob' :: ProcessingJob -> Maybe NetworkConfig
networkConfig} -> Maybe NetworkConfig
networkConfig) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe NetworkConfig
a -> ProcessingJob
s {$sel:networkConfig:ProcessingJob' :: Maybe NetworkConfig
networkConfig = Maybe NetworkConfig
a} :: ProcessingJob)

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

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

-- | The status of the processing job.
processingJob_processingJobStatus :: Lens.Lens' ProcessingJob (Prelude.Maybe ProcessingJobStatus)
processingJob_processingJobStatus :: (Maybe ProcessingJobStatus -> f (Maybe ProcessingJobStatus))
-> ProcessingJob -> f ProcessingJob
processingJob_processingJobStatus = (ProcessingJob -> Maybe ProcessingJobStatus)
-> (ProcessingJob -> Maybe ProcessingJobStatus -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe ProcessingJobStatus)
     (Maybe ProcessingJobStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe ProcessingJobStatus
processingJobStatus :: Maybe ProcessingJobStatus
$sel:processingJobStatus:ProcessingJob' :: ProcessingJob -> Maybe ProcessingJobStatus
processingJobStatus} -> Maybe ProcessingJobStatus
processingJobStatus) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe ProcessingJobStatus
a -> ProcessingJob
s {$sel:processingJobStatus:ProcessingJob' :: Maybe ProcessingJobStatus
processingJobStatus = Maybe ProcessingJobStatus
a} :: ProcessingJob)

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

-- | Undocumented member.
processingJob_processingOutputConfig :: Lens.Lens' ProcessingJob (Prelude.Maybe ProcessingOutputConfig)
processingJob_processingOutputConfig :: (Maybe ProcessingOutputConfig -> f (Maybe ProcessingOutputConfig))
-> ProcessingJob -> f ProcessingJob
processingJob_processingOutputConfig = (ProcessingJob -> Maybe ProcessingOutputConfig)
-> (ProcessingJob -> Maybe ProcessingOutputConfig -> ProcessingJob)
-> Lens
     ProcessingJob
     ProcessingJob
     (Maybe ProcessingOutputConfig)
     (Maybe ProcessingOutputConfig)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe ProcessingOutputConfig
processingOutputConfig :: Maybe ProcessingOutputConfig
$sel:processingOutputConfig:ProcessingJob' :: ProcessingJob -> Maybe ProcessingOutputConfig
processingOutputConfig} -> Maybe ProcessingOutputConfig
processingOutputConfig) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe ProcessingOutputConfig
a -> ProcessingJob
s {$sel:processingOutputConfig:ProcessingJob' :: Maybe ProcessingOutputConfig
processingOutputConfig = Maybe ProcessingOutputConfig
a} :: ProcessingJob)

-- | The time that the processing job started.
processingJob_processingStartTime :: Lens.Lens' ProcessingJob (Prelude.Maybe Prelude.UTCTime)
processingJob_processingStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob -> f ProcessingJob
processingJob_processingStartTime = (ProcessingJob -> Maybe POSIX)
-> (ProcessingJob -> Maybe POSIX -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe POSIX
processingStartTime :: Maybe POSIX
$sel:processingStartTime:ProcessingJob' :: ProcessingJob -> Maybe POSIX
processingStartTime} -> Maybe POSIX
processingStartTime) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe POSIX
a -> ProcessingJob
s {$sel:processingStartTime:ProcessingJob' :: Maybe POSIX
processingStartTime = Maybe POSIX
a} :: ProcessingJob) ((Maybe POSIX -> f (Maybe POSIX))
 -> ProcessingJob -> f ProcessingJob)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob
-> f ProcessingJob
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 that the processing job ended.
processingJob_processingEndTime :: Lens.Lens' ProcessingJob (Prelude.Maybe Prelude.UTCTime)
processingJob_processingEndTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob -> f ProcessingJob
processingJob_processingEndTime = (ProcessingJob -> Maybe POSIX)
-> (ProcessingJob -> Maybe POSIX -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe POSIX
processingEndTime :: Maybe POSIX
$sel:processingEndTime:ProcessingJob' :: ProcessingJob -> Maybe POSIX
processingEndTime} -> Maybe POSIX
processingEndTime) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe POSIX
a -> ProcessingJob
s {$sel:processingEndTime:ProcessingJob' :: Maybe POSIX
processingEndTime = Maybe POSIX
a} :: ProcessingJob) ((Maybe POSIX -> f (Maybe POSIX))
 -> ProcessingJob -> f ProcessingJob)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> ProcessingJob
-> f ProcessingJob
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

-- | An array of key-value pairs. For more information, see
-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL Using Cost Allocation Tags>
-- in the /Amazon Web Services Billing and Cost Management User Guide/.
processingJob_tags :: Lens.Lens' ProcessingJob (Prelude.Maybe [Tag])
processingJob_tags :: (Maybe [Tag] -> f (Maybe [Tag]))
-> ProcessingJob -> f ProcessingJob
processingJob_tags = (ProcessingJob -> Maybe [Tag])
-> (ProcessingJob -> Maybe [Tag] -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe [Tag]) (Maybe [Tag])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:ProcessingJob' :: ProcessingJob -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe [Tag]
a -> ProcessingJob
s {$sel:tags:ProcessingJob' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: ProcessingJob) ((Maybe [Tag] -> f (Maybe [Tag]))
 -> ProcessingJob -> f ProcessingJob)
-> ((Maybe [Tag] -> f (Maybe [Tag]))
    -> Maybe [Tag] -> f (Maybe [Tag]))
-> (Maybe [Tag] -> f (Maybe [Tag]))
-> ProcessingJob
-> f ProcessingJob
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Tag] [Tag] [Tag] [Tag]
-> Iso (Maybe [Tag]) (Maybe [Tag]) (Maybe [Tag]) (Maybe [Tag])
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 [Tag] [Tag] [Tag] [Tag]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

-- | The ARN of the role used to create the processing job.
processingJob_roleArn :: Lens.Lens' ProcessingJob (Prelude.Maybe Prelude.Text)
processingJob_roleArn :: (Maybe Text -> f (Maybe Text)) -> ProcessingJob -> f ProcessingJob
processingJob_roleArn = (ProcessingJob -> Maybe Text)
-> (ProcessingJob -> Maybe Text -> ProcessingJob)
-> Lens ProcessingJob ProcessingJob (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ProcessingJob' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:ProcessingJob' :: ProcessingJob -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: ProcessingJob
s@ProcessingJob' {} Maybe Text
a -> ProcessingJob
s {$sel:roleArn:ProcessingJob' :: Maybe Text
roleArn = Maybe Text
a} :: ProcessingJob)

instance Core.FromJSON ProcessingJob where
  parseJSON :: Value -> Parser ProcessingJob
parseJSON =
    String
-> (Object -> Parser ProcessingJob)
-> Value
-> Parser ProcessingJob
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ProcessingJob"
      ( \Object
x ->
          Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe AppSpecification
-> Maybe ProcessingResources
-> Maybe (HashMap Text Text)
-> Maybe Text
-> Maybe ProcessingStoppingCondition
-> Maybe ExperimentConfig
-> Maybe POSIX
-> Maybe [ProcessingInput]
-> Maybe NetworkConfig
-> Maybe Text
-> Maybe Text
-> Maybe ProcessingJobStatus
-> Maybe Text
-> Maybe ProcessingOutputConfig
-> Maybe POSIX
-> Maybe POSIX
-> Maybe [Tag]
-> Maybe Text
-> Maybe Text
-> ProcessingJob
ProcessingJob'
            (Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe AppSpecification
 -> Maybe ProcessingResources
 -> Maybe (HashMap Text Text)
 -> Maybe Text
 -> Maybe ProcessingStoppingCondition
 -> Maybe ExperimentConfig
 -> Maybe POSIX
 -> Maybe [ProcessingInput]
 -> Maybe NetworkConfig
 -> Maybe Text
 -> Maybe Text
 -> Maybe ProcessingJobStatus
 -> Maybe Text
 -> Maybe ProcessingOutputConfig
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe [Tag]
 -> Maybe Text
 -> Maybe Text
 -> ProcessingJob)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe AppSpecification
      -> Maybe ProcessingResources
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CreationTime")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe AppSpecification
   -> Maybe ProcessingResources
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe AppSpecification
      -> Maybe ProcessingResources
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FailureReason")
            Parser
  (Maybe Text
   -> Maybe AppSpecification
   -> Maybe ProcessingResources
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe AppSpecification
      -> Maybe ProcessingResources
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MonitoringScheduleArn")
            Parser
  (Maybe AppSpecification
   -> Maybe ProcessingResources
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe AppSpecification)
-> Parser
     (Maybe ProcessingResources
      -> Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AppSpecification)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AppSpecification")
            Parser
  (Maybe ProcessingResources
   -> Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe ProcessingResources)
-> Parser
     (Maybe (HashMap Text Text)
      -> Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProcessingResources)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingResources")
            Parser
  (Maybe (HashMap Text Text)
   -> Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe (HashMap Text Text))
-> Parser
     (Maybe Text
      -> Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Environment" Parser (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text) -> Parser (Maybe (HashMap Text Text))
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe ProcessingStoppingCondition
      -> Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingJobName")
            Parser
  (Maybe ProcessingStoppingCondition
   -> Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe ProcessingStoppingCondition)
-> Parser
     (Maybe ExperimentConfig
      -> Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProcessingStoppingCondition)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StoppingCondition")
            Parser
  (Maybe ExperimentConfig
   -> Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe ExperimentConfig)
-> Parser
     (Maybe POSIX
      -> Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ExperimentConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ExperimentConfig")
            Parser
  (Maybe POSIX
   -> Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe [ProcessingInput]
      -> Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LastModifiedTime")
            Parser
  (Maybe [ProcessingInput]
   -> Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe [ProcessingInput])
-> Parser
     (Maybe NetworkConfig
      -> Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [ProcessingInput]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingInputs"
                            Parser (Maybe (Maybe [ProcessingInput]))
-> Maybe [ProcessingInput] -> Parser (Maybe [ProcessingInput])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [ProcessingInput]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe NetworkConfig
   -> Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe NetworkConfig)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe NetworkConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NetworkConfig")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AutoMLJobArn")
            Parser
  (Maybe Text
   -> Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe ProcessingJobStatus
      -> Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TrainingJobArn")
            Parser
  (Maybe ProcessingJobStatus
   -> Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe ProcessingJobStatus)
-> Parser
     (Maybe Text
      -> Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProcessingJobStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingJobStatus")
            Parser
  (Maybe Text
   -> Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe Text)
-> Parser
     (Maybe ProcessingOutputConfig
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ExitMessage")
            Parser
  (Maybe ProcessingOutputConfig
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe ProcessingOutputConfig)
-> Parser
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe [Tag]
      -> Maybe Text
      -> Maybe Text
      -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ProcessingOutputConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingOutputConfig")
            Parser
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe [Tag]
   -> Maybe Text
   -> Maybe Text
   -> ProcessingJob)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe POSIX
      -> Maybe [Tag] -> Maybe Text -> Maybe Text -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingStartTime")
            Parser
  (Maybe POSIX
   -> Maybe [Tag] -> Maybe Text -> Maybe Text -> ProcessingJob)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe [Tag] -> Maybe Text -> Maybe Text -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingEndTime")
            Parser (Maybe [Tag] -> Maybe Text -> Maybe Text -> ProcessingJob)
-> Parser (Maybe [Tag])
-> Parser (Maybe Text -> Maybe Text -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Tag]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Tags" Parser (Maybe (Maybe [Tag])) -> Maybe [Tag] -> Parser (Maybe [Tag])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Tag]
forall a. Monoid a => a
Prelude.mempty)
            Parser (Maybe Text -> Maybe Text -> ProcessingJob)
-> Parser (Maybe Text) -> Parser (Maybe Text -> ProcessingJob)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessingJobArn")
            Parser (Maybe Text -> ProcessingJob)
-> Parser (Maybe Text) -> Parser ProcessingJob
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RoleArn")
      )

instance Prelude.Hashable ProcessingJob

instance Prelude.NFData ProcessingJob