{-# 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'