{-# 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 #-}
module Amazonka.Batch.Types.JobDefinition where
import Amazonka.Batch.Types.ContainerProperties
import Amazonka.Batch.Types.EksProperties
import Amazonka.Batch.Types.JobTimeout
import Amazonka.Batch.Types.NodeProperties
import Amazonka.Batch.Types.OrchestrationType
import Amazonka.Batch.Types.PlatformCapability
import Amazonka.Batch.Types.RetryStrategy
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
data JobDefinition = JobDefinition'
  { 
    
    JobDefinition -> Maybe OrchestrationType
containerOrchestrationType :: Prelude.Maybe OrchestrationType,
    
    
    
    JobDefinition -> Maybe ContainerProperties
containerProperties :: Prelude.Maybe ContainerProperties,
    
    
    
    JobDefinition -> Maybe EksProperties
eksProperties :: Prelude.Maybe EksProperties,
    
    
    
    
    
    
    JobDefinition -> Maybe NodeProperties
nodeProperties :: Prelude.Maybe NodeProperties,
    
    
    
    
    
    
    
    JobDefinition -> Maybe (HashMap Text Text)
parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    
    
    
    JobDefinition -> Maybe [PlatformCapability]
platformCapabilities :: Prelude.Maybe [PlatformCapability],
    
    
    
    
    
    
    
    JobDefinition -> Maybe Bool
propagateTags :: Prelude.Maybe Prelude.Bool,
    
    
    JobDefinition -> Maybe RetryStrategy
retryStrategy :: Prelude.Maybe RetryStrategy,
    
    
    
    JobDefinition -> Maybe Int
schedulingPriority :: Prelude.Maybe Prelude.Int,
    
    JobDefinition -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    
    JobDefinition -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    
    
    
    JobDefinition -> Maybe JobTimeout
timeout :: Prelude.Maybe JobTimeout,
    
    JobDefinition -> Text
jobDefinitionName :: Prelude.Text,
    
    JobDefinition -> Text
jobDefinitionArn :: Prelude.Text,
    
    JobDefinition -> Int
revision :: Prelude.Int,
    
    
    
    
    
    JobDefinition -> Text
type' :: Prelude.Text
  }
  deriving (JobDefinition -> JobDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: JobDefinition -> JobDefinition -> Bool
$c/= :: JobDefinition -> JobDefinition -> Bool
== :: JobDefinition -> JobDefinition -> Bool
$c== :: JobDefinition -> JobDefinition -> Bool
Prelude.Eq, ReadPrec [JobDefinition]
ReadPrec JobDefinition
Int -> ReadS JobDefinition
ReadS [JobDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [JobDefinition]
$creadListPrec :: ReadPrec [JobDefinition]
readPrec :: ReadPrec JobDefinition
$creadPrec :: ReadPrec JobDefinition
readList :: ReadS [JobDefinition]
$creadList :: ReadS [JobDefinition]
readsPrec :: Int -> ReadS JobDefinition
$creadsPrec :: Int -> ReadS JobDefinition
Prelude.Read, Int -> JobDefinition -> ShowS
[JobDefinition] -> ShowS
JobDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [JobDefinition] -> ShowS
$cshowList :: [JobDefinition] -> ShowS
show :: JobDefinition -> String
$cshow :: JobDefinition -> String
showsPrec :: Int -> JobDefinition -> ShowS
$cshowsPrec :: Int -> JobDefinition -> ShowS
Prelude.Show, forall x. Rep JobDefinition x -> JobDefinition
forall x. JobDefinition -> Rep JobDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep JobDefinition x -> JobDefinition
$cfrom :: forall x. JobDefinition -> Rep JobDefinition x
Prelude.Generic)
newJobDefinition ::
  
  Prelude.Text ->
  
  Prelude.Text ->
  
  Prelude.Int ->
  
  Prelude.Text ->
  JobDefinition
newJobDefinition :: Text -> Text -> Int -> Text -> JobDefinition
newJobDefinition
  Text
pJobDefinitionName_
  Text
pJobDefinitionArn_
  Int
pRevision_
  Text
pType_ =
    JobDefinition'
      { $sel:containerOrchestrationType:JobDefinition' :: Maybe OrchestrationType
containerOrchestrationType =
          forall a. Maybe a
Prelude.Nothing,
        $sel:containerProperties:JobDefinition' :: Maybe ContainerProperties
containerProperties = forall a. Maybe a
Prelude.Nothing,
        $sel:eksProperties:JobDefinition' :: Maybe EksProperties
eksProperties = forall a. Maybe a
Prelude.Nothing,
        $sel:nodeProperties:JobDefinition' :: Maybe NodeProperties
nodeProperties = forall a. Maybe a
Prelude.Nothing,
        $sel:parameters:JobDefinition' :: Maybe (HashMap Text Text)
parameters = forall a. Maybe a
Prelude.Nothing,
        $sel:platformCapabilities:JobDefinition' :: Maybe [PlatformCapability]
platformCapabilities = forall a. Maybe a
Prelude.Nothing,
        $sel:propagateTags:JobDefinition' :: Maybe Bool
propagateTags = forall a. Maybe a
Prelude.Nothing,
        $sel:retryStrategy:JobDefinition' :: Maybe RetryStrategy
retryStrategy = forall a. Maybe a
Prelude.Nothing,
        $sel:schedulingPriority:JobDefinition' :: Maybe Int
schedulingPriority = forall a. Maybe a
Prelude.Nothing,
        $sel:status:JobDefinition' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
        $sel:tags:JobDefinition' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
        $sel:timeout:JobDefinition' :: Maybe JobTimeout
timeout = forall a. Maybe a
Prelude.Nothing,
        $sel:jobDefinitionName:JobDefinition' :: Text
jobDefinitionName = Text
pJobDefinitionName_,
        $sel:jobDefinitionArn:JobDefinition' :: Text
jobDefinitionArn = Text
pJobDefinitionArn_,
        $sel:revision:JobDefinition' :: Int
revision = Int
pRevision_,
        $sel:type':JobDefinition' :: Text
type' = Text
pType_
      }
jobDefinition_containerOrchestrationType :: Lens.Lens' JobDefinition (Prelude.Maybe OrchestrationType)
jobDefinition_containerOrchestrationType :: Lens' JobDefinition (Maybe OrchestrationType)
jobDefinition_containerOrchestrationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe OrchestrationType
containerOrchestrationType :: Maybe OrchestrationType
$sel:containerOrchestrationType:JobDefinition' :: JobDefinition -> Maybe OrchestrationType
containerOrchestrationType} -> Maybe OrchestrationType
containerOrchestrationType) (\s :: JobDefinition
s@JobDefinition' {} Maybe OrchestrationType
a -> JobDefinition
s {$sel:containerOrchestrationType:JobDefinition' :: Maybe OrchestrationType
containerOrchestrationType = Maybe OrchestrationType
a} :: JobDefinition)
jobDefinition_containerProperties :: Lens.Lens' JobDefinition (Prelude.Maybe ContainerProperties)
jobDefinition_containerProperties :: Lens' JobDefinition (Maybe ContainerProperties)
jobDefinition_containerProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe ContainerProperties
containerProperties :: Maybe ContainerProperties
$sel:containerProperties:JobDefinition' :: JobDefinition -> Maybe ContainerProperties
containerProperties} -> Maybe ContainerProperties
containerProperties) (\s :: JobDefinition
s@JobDefinition' {} Maybe ContainerProperties
a -> JobDefinition
s {$sel:containerProperties:JobDefinition' :: Maybe ContainerProperties
containerProperties = Maybe ContainerProperties
a} :: JobDefinition)
jobDefinition_eksProperties :: Lens.Lens' JobDefinition (Prelude.Maybe EksProperties)
jobDefinition_eksProperties :: Lens' JobDefinition (Maybe EksProperties)
jobDefinition_eksProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe EksProperties
eksProperties :: Maybe EksProperties
$sel:eksProperties:JobDefinition' :: JobDefinition -> Maybe EksProperties
eksProperties} -> Maybe EksProperties
eksProperties) (\s :: JobDefinition
s@JobDefinition' {} Maybe EksProperties
a -> JobDefinition
s {$sel:eksProperties:JobDefinition' :: Maybe EksProperties
eksProperties = Maybe EksProperties
a} :: JobDefinition)
jobDefinition_nodeProperties :: Lens.Lens' JobDefinition (Prelude.Maybe NodeProperties)
jobDefinition_nodeProperties :: Lens' JobDefinition (Maybe NodeProperties)
jobDefinition_nodeProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe NodeProperties
nodeProperties :: Maybe NodeProperties
$sel:nodeProperties:JobDefinition' :: JobDefinition -> Maybe NodeProperties
nodeProperties} -> Maybe NodeProperties
nodeProperties) (\s :: JobDefinition
s@JobDefinition' {} Maybe NodeProperties
a -> JobDefinition
s {$sel:nodeProperties:JobDefinition' :: Maybe NodeProperties
nodeProperties = Maybe NodeProperties
a} :: JobDefinition)
jobDefinition_parameters :: Lens.Lens' JobDefinition (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
jobDefinition_parameters :: Lens' JobDefinition (Maybe (HashMap Text Text))
jobDefinition_parameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe (HashMap Text Text)
parameters :: Maybe (HashMap Text Text)
$sel:parameters:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
parameters} -> Maybe (HashMap Text Text)
parameters) (\s :: JobDefinition
s@JobDefinition' {} Maybe (HashMap Text Text)
a -> JobDefinition
s {$sel:parameters:JobDefinition' :: Maybe (HashMap Text Text)
parameters = Maybe (HashMap Text Text)
a} :: JobDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobDefinition_platformCapabilities :: Lens.Lens' JobDefinition (Prelude.Maybe [PlatformCapability])
jobDefinition_platformCapabilities :: Lens' JobDefinition (Maybe [PlatformCapability])
jobDefinition_platformCapabilities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe [PlatformCapability]
platformCapabilities :: Maybe [PlatformCapability]
$sel:platformCapabilities:JobDefinition' :: JobDefinition -> Maybe [PlatformCapability]
platformCapabilities} -> Maybe [PlatformCapability]
platformCapabilities) (\s :: JobDefinition
s@JobDefinition' {} Maybe [PlatformCapability]
a -> JobDefinition
s {$sel:platformCapabilities:JobDefinition' :: Maybe [PlatformCapability]
platformCapabilities = Maybe [PlatformCapability]
a} :: JobDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobDefinition_propagateTags :: Lens.Lens' JobDefinition (Prelude.Maybe Prelude.Bool)
jobDefinition_propagateTags :: Lens' JobDefinition (Maybe Bool)
jobDefinition_propagateTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe Bool
propagateTags :: Maybe Bool
$sel:propagateTags:JobDefinition' :: JobDefinition -> Maybe Bool
propagateTags} -> Maybe Bool
propagateTags) (\s :: JobDefinition
s@JobDefinition' {} Maybe Bool
a -> JobDefinition
s {$sel:propagateTags:JobDefinition' :: Maybe Bool
propagateTags = Maybe Bool
a} :: JobDefinition)
jobDefinition_retryStrategy :: Lens.Lens' JobDefinition (Prelude.Maybe RetryStrategy)
jobDefinition_retryStrategy :: Lens' JobDefinition (Maybe RetryStrategy)
jobDefinition_retryStrategy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe RetryStrategy
retryStrategy :: Maybe RetryStrategy
$sel:retryStrategy:JobDefinition' :: JobDefinition -> Maybe RetryStrategy
retryStrategy} -> Maybe RetryStrategy
retryStrategy) (\s :: JobDefinition
s@JobDefinition' {} Maybe RetryStrategy
a -> JobDefinition
s {$sel:retryStrategy:JobDefinition' :: Maybe RetryStrategy
retryStrategy = Maybe RetryStrategy
a} :: JobDefinition)
jobDefinition_schedulingPriority :: Lens.Lens' JobDefinition (Prelude.Maybe Prelude.Int)
jobDefinition_schedulingPriority :: Lens' JobDefinition (Maybe Int)
jobDefinition_schedulingPriority = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe Int
schedulingPriority :: Maybe Int
$sel:schedulingPriority:JobDefinition' :: JobDefinition -> Maybe Int
schedulingPriority} -> Maybe Int
schedulingPriority) (\s :: JobDefinition
s@JobDefinition' {} Maybe Int
a -> JobDefinition
s {$sel:schedulingPriority:JobDefinition' :: Maybe Int
schedulingPriority = Maybe Int
a} :: JobDefinition)
jobDefinition_status :: Lens.Lens' JobDefinition (Prelude.Maybe Prelude.Text)
jobDefinition_status :: Lens' JobDefinition (Maybe Text)
jobDefinition_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe Text
status :: Maybe Text
$sel:status:JobDefinition' :: JobDefinition -> Maybe Text
status} -> Maybe Text
status) (\s :: JobDefinition
s@JobDefinition' {} Maybe Text
a -> JobDefinition
s {$sel:status:JobDefinition' :: Maybe Text
status = Maybe Text
a} :: JobDefinition)
jobDefinition_tags :: Lens.Lens' JobDefinition (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
jobDefinition_tags :: Lens' JobDefinition (Maybe (HashMap Text Text))
jobDefinition_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: JobDefinition
s@JobDefinition' {} Maybe (HashMap Text Text)
a -> JobDefinition
s {$sel:tags:JobDefinition' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: JobDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
jobDefinition_timeout :: Lens.Lens' JobDefinition (Prelude.Maybe JobTimeout)
jobDefinition_timeout :: Lens' JobDefinition (Maybe JobTimeout)
jobDefinition_timeout = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Maybe JobTimeout
timeout :: Maybe JobTimeout
$sel:timeout:JobDefinition' :: JobDefinition -> Maybe JobTimeout
timeout} -> Maybe JobTimeout
timeout) (\s :: JobDefinition
s@JobDefinition' {} Maybe JobTimeout
a -> JobDefinition
s {$sel:timeout:JobDefinition' :: Maybe JobTimeout
timeout = Maybe JobTimeout
a} :: JobDefinition)
jobDefinition_jobDefinitionName :: Lens.Lens' JobDefinition Prelude.Text
jobDefinition_jobDefinitionName :: Lens' JobDefinition Text
jobDefinition_jobDefinitionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Text
jobDefinitionName :: Text
$sel:jobDefinitionName:JobDefinition' :: JobDefinition -> Text
jobDefinitionName} -> Text
jobDefinitionName) (\s :: JobDefinition
s@JobDefinition' {} Text
a -> JobDefinition
s {$sel:jobDefinitionName:JobDefinition' :: Text
jobDefinitionName = Text
a} :: JobDefinition)
jobDefinition_jobDefinitionArn :: Lens.Lens' JobDefinition Prelude.Text
jobDefinition_jobDefinitionArn :: Lens' JobDefinition Text
jobDefinition_jobDefinitionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Text
jobDefinitionArn :: Text
$sel:jobDefinitionArn:JobDefinition' :: JobDefinition -> Text
jobDefinitionArn} -> Text
jobDefinitionArn) (\s :: JobDefinition
s@JobDefinition' {} Text
a -> JobDefinition
s {$sel:jobDefinitionArn:JobDefinition' :: Text
jobDefinitionArn = Text
a} :: JobDefinition)
jobDefinition_revision :: Lens.Lens' JobDefinition Prelude.Int
jobDefinition_revision :: Lens' JobDefinition Int
jobDefinition_revision = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Int
revision :: Int
$sel:revision:JobDefinition' :: JobDefinition -> Int
revision} -> Int
revision) (\s :: JobDefinition
s@JobDefinition' {} Int
a -> JobDefinition
s {$sel:revision:JobDefinition' :: Int
revision = Int
a} :: JobDefinition)
jobDefinition_type :: Lens.Lens' JobDefinition Prelude.Text
jobDefinition_type :: Lens' JobDefinition Text
jobDefinition_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\JobDefinition' {Text
type' :: Text
$sel:type':JobDefinition' :: JobDefinition -> Text
type'} -> Text
type') (\s :: JobDefinition
s@JobDefinition' {} Text
a -> JobDefinition
s {$sel:type':JobDefinition' :: Text
type' = Text
a} :: JobDefinition)
instance Data.FromJSON JobDefinition where
  parseJSON :: Value -> Parser JobDefinition
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"JobDefinition"
      ( \Object
x ->
          Maybe OrchestrationType
-> Maybe ContainerProperties
-> Maybe EksProperties
-> Maybe NodeProperties
-> Maybe (HashMap Text Text)
-> Maybe [PlatformCapability]
-> Maybe Bool
-> Maybe RetryStrategy
-> Maybe Int
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe JobTimeout
-> Text
-> Text
-> Int
-> Text
-> JobDefinition
JobDefinition'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"containerOrchestrationType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"containerProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"eksProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"nodeProperties")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"parameters" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"platformCapabilities"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"propagateTags")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"retryStrategy")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"schedulingPriority")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"tags" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"timeout")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"jobDefinitionName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"jobDefinitionArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"revision")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"type")
      )
instance Prelude.Hashable JobDefinition where
  hashWithSalt :: Int -> JobDefinition -> Int
hashWithSalt Int
_salt JobDefinition' {Int
Maybe Bool
Maybe Int
Maybe [PlatformCapability]
Maybe Text
Maybe (HashMap Text Text)
Maybe EksProperties
Maybe JobTimeout
Maybe OrchestrationType
Maybe RetryStrategy
Maybe ContainerProperties
Maybe NodeProperties
Text
type' :: Text
revision :: Int
jobDefinitionArn :: Text
jobDefinitionName :: Text
timeout :: Maybe JobTimeout
tags :: Maybe (HashMap Text Text)
status :: Maybe Text
schedulingPriority :: Maybe Int
retryStrategy :: Maybe RetryStrategy
propagateTags :: Maybe Bool
platformCapabilities :: Maybe [PlatformCapability]
parameters :: Maybe (HashMap Text Text)
nodeProperties :: Maybe NodeProperties
eksProperties :: Maybe EksProperties
containerProperties :: Maybe ContainerProperties
containerOrchestrationType :: Maybe OrchestrationType
$sel:type':JobDefinition' :: JobDefinition -> Text
$sel:revision:JobDefinition' :: JobDefinition -> Int
$sel:jobDefinitionArn:JobDefinition' :: JobDefinition -> Text
$sel:jobDefinitionName:JobDefinition' :: JobDefinition -> Text
$sel:timeout:JobDefinition' :: JobDefinition -> Maybe JobTimeout
$sel:tags:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
$sel:status:JobDefinition' :: JobDefinition -> Maybe Text
$sel:schedulingPriority:JobDefinition' :: JobDefinition -> Maybe Int
$sel:retryStrategy:JobDefinition' :: JobDefinition -> Maybe RetryStrategy
$sel:propagateTags:JobDefinition' :: JobDefinition -> Maybe Bool
$sel:platformCapabilities:JobDefinition' :: JobDefinition -> Maybe [PlatformCapability]
$sel:parameters:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
$sel:nodeProperties:JobDefinition' :: JobDefinition -> Maybe NodeProperties
$sel:eksProperties:JobDefinition' :: JobDefinition -> Maybe EksProperties
$sel:containerProperties:JobDefinition' :: JobDefinition -> Maybe ContainerProperties
$sel:containerOrchestrationType:JobDefinition' :: JobDefinition -> Maybe OrchestrationType
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OrchestrationType
containerOrchestrationType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ContainerProperties
containerProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EksProperties
eksProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NodeProperties
nodeProperties
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
parameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [PlatformCapability]
platformCapabilities
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
propagateTags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RetryStrategy
retryStrategy
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
schedulingPriority
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe JobTimeout
timeout
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobDefinitionName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
jobDefinitionArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
revision
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
type'
instance Prelude.NFData JobDefinition where
  rnf :: JobDefinition -> ()
rnf JobDefinition' {Int
Maybe Bool
Maybe Int
Maybe [PlatformCapability]
Maybe Text
Maybe (HashMap Text Text)
Maybe EksProperties
Maybe JobTimeout
Maybe OrchestrationType
Maybe RetryStrategy
Maybe ContainerProperties
Maybe NodeProperties
Text
type' :: Text
revision :: Int
jobDefinitionArn :: Text
jobDefinitionName :: Text
timeout :: Maybe JobTimeout
tags :: Maybe (HashMap Text Text)
status :: Maybe Text
schedulingPriority :: Maybe Int
retryStrategy :: Maybe RetryStrategy
propagateTags :: Maybe Bool
platformCapabilities :: Maybe [PlatformCapability]
parameters :: Maybe (HashMap Text Text)
nodeProperties :: Maybe NodeProperties
eksProperties :: Maybe EksProperties
containerProperties :: Maybe ContainerProperties
containerOrchestrationType :: Maybe OrchestrationType
$sel:type':JobDefinition' :: JobDefinition -> Text
$sel:revision:JobDefinition' :: JobDefinition -> Int
$sel:jobDefinitionArn:JobDefinition' :: JobDefinition -> Text
$sel:jobDefinitionName:JobDefinition' :: JobDefinition -> Text
$sel:timeout:JobDefinition' :: JobDefinition -> Maybe JobTimeout
$sel:tags:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
$sel:status:JobDefinition' :: JobDefinition -> Maybe Text
$sel:schedulingPriority:JobDefinition' :: JobDefinition -> Maybe Int
$sel:retryStrategy:JobDefinition' :: JobDefinition -> Maybe RetryStrategy
$sel:propagateTags:JobDefinition' :: JobDefinition -> Maybe Bool
$sel:platformCapabilities:JobDefinition' :: JobDefinition -> Maybe [PlatformCapability]
$sel:parameters:JobDefinition' :: JobDefinition -> Maybe (HashMap Text Text)
$sel:nodeProperties:JobDefinition' :: JobDefinition -> Maybe NodeProperties
$sel:eksProperties:JobDefinition' :: JobDefinition -> Maybe EksProperties
$sel:containerProperties:JobDefinition' :: JobDefinition -> Maybe ContainerProperties
$sel:containerOrchestrationType:JobDefinition' :: JobDefinition -> Maybe OrchestrationType
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe OrchestrationType
containerOrchestrationType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ContainerProperties
containerProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EksProperties
eksProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NodeProperties
nodeProperties
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
parameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [PlatformCapability]
platformCapabilities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
propagateTags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RetryStrategy
retryStrategy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
schedulingPriority
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe JobTimeout
timeout
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobDefinitionName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
jobDefinitionArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
revision
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
type'