{-# 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.RobOMaker.Types.SimulationJobRequest where
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
import Amazonka.RobOMaker.Types.Compute
import Amazonka.RobOMaker.Types.DataSourceConfig
import Amazonka.RobOMaker.Types.FailureBehavior
import Amazonka.RobOMaker.Types.LoggingConfig
import Amazonka.RobOMaker.Types.OutputLocation
import Amazonka.RobOMaker.Types.RobotApplicationConfig
import Amazonka.RobOMaker.Types.SimulationApplicationConfig
import Amazonka.RobOMaker.Types.VPCConfig
data SimulationJobRequest = SimulationJobRequest'
{
SimulationJobRequest -> Maybe Compute
compute :: Prelude.Maybe Compute,
SimulationJobRequest -> Maybe (NonEmpty DataSourceConfig)
dataSources :: Prelude.Maybe (Prelude.NonEmpty DataSourceConfig),
SimulationJobRequest -> Maybe FailureBehavior
failureBehavior :: Prelude.Maybe FailureBehavior,
SimulationJobRequest -> Maybe Text
iamRole :: Prelude.Maybe Prelude.Text,
SimulationJobRequest -> Maybe LoggingConfig
loggingConfig :: Prelude.Maybe LoggingConfig,
SimulationJobRequest -> Maybe OutputLocation
outputLocation :: Prelude.Maybe OutputLocation,
SimulationJobRequest -> Maybe (NonEmpty RobotApplicationConfig)
robotApplications :: Prelude.Maybe (Prelude.NonEmpty RobotApplicationConfig),
SimulationJobRequest
-> Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications :: Prelude.Maybe (Prelude.NonEmpty SimulationApplicationConfig),
SimulationJobRequest -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
SimulationJobRequest -> Maybe Bool
useDefaultApplications :: Prelude.Maybe Prelude.Bool,
SimulationJobRequest -> Maybe VPCConfig
vpcConfig :: Prelude.Maybe VPCConfig,
SimulationJobRequest -> Integer
maxJobDurationInSeconds :: Prelude.Integer
}
deriving (SimulationJobRequest -> SimulationJobRequest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SimulationJobRequest -> SimulationJobRequest -> Bool
$c/= :: SimulationJobRequest -> SimulationJobRequest -> Bool
== :: SimulationJobRequest -> SimulationJobRequest -> Bool
$c== :: SimulationJobRequest -> SimulationJobRequest -> Bool
Prelude.Eq, ReadPrec [SimulationJobRequest]
ReadPrec SimulationJobRequest
Int -> ReadS SimulationJobRequest
ReadS [SimulationJobRequest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SimulationJobRequest]
$creadListPrec :: ReadPrec [SimulationJobRequest]
readPrec :: ReadPrec SimulationJobRequest
$creadPrec :: ReadPrec SimulationJobRequest
readList :: ReadS [SimulationJobRequest]
$creadList :: ReadS [SimulationJobRequest]
readsPrec :: Int -> ReadS SimulationJobRequest
$creadsPrec :: Int -> ReadS SimulationJobRequest
Prelude.Read, Int -> SimulationJobRequest -> ShowS
[SimulationJobRequest] -> ShowS
SimulationJobRequest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SimulationJobRequest] -> ShowS
$cshowList :: [SimulationJobRequest] -> ShowS
show :: SimulationJobRequest -> String
$cshow :: SimulationJobRequest -> String
showsPrec :: Int -> SimulationJobRequest -> ShowS
$cshowsPrec :: Int -> SimulationJobRequest -> ShowS
Prelude.Show, forall x. Rep SimulationJobRequest x -> SimulationJobRequest
forall x. SimulationJobRequest -> Rep SimulationJobRequest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SimulationJobRequest x -> SimulationJobRequest
$cfrom :: forall x. SimulationJobRequest -> Rep SimulationJobRequest x
Prelude.Generic)
newSimulationJobRequest ::
Prelude.Integer ->
SimulationJobRequest
newSimulationJobRequest :: Integer -> SimulationJobRequest
newSimulationJobRequest Integer
pMaxJobDurationInSeconds_ =
SimulationJobRequest'
{ $sel:compute:SimulationJobRequest' :: Maybe Compute
compute = forall a. Maybe a
Prelude.Nothing,
$sel:dataSources:SimulationJobRequest' :: Maybe (NonEmpty DataSourceConfig)
dataSources = forall a. Maybe a
Prelude.Nothing,
$sel:failureBehavior:SimulationJobRequest' :: Maybe FailureBehavior
failureBehavior = forall a. Maybe a
Prelude.Nothing,
$sel:iamRole:SimulationJobRequest' :: Maybe Text
iamRole = forall a. Maybe a
Prelude.Nothing,
$sel:loggingConfig:SimulationJobRequest' :: Maybe LoggingConfig
loggingConfig = forall a. Maybe a
Prelude.Nothing,
$sel:outputLocation:SimulationJobRequest' :: Maybe OutputLocation
outputLocation = forall a. Maybe a
Prelude.Nothing,
$sel:robotApplications:SimulationJobRequest' :: Maybe (NonEmpty RobotApplicationConfig)
robotApplications = forall a. Maybe a
Prelude.Nothing,
$sel:simulationApplications:SimulationJobRequest' :: Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications = forall a. Maybe a
Prelude.Nothing,
$sel:tags:SimulationJobRequest' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:useDefaultApplications:SimulationJobRequest' :: Maybe Bool
useDefaultApplications = forall a. Maybe a
Prelude.Nothing,
$sel:vpcConfig:SimulationJobRequest' :: Maybe VPCConfig
vpcConfig = forall a. Maybe a
Prelude.Nothing,
$sel:maxJobDurationInSeconds:SimulationJobRequest' :: Integer
maxJobDurationInSeconds = Integer
pMaxJobDurationInSeconds_
}
simulationJobRequest_compute :: Lens.Lens' SimulationJobRequest (Prelude.Maybe Compute)
simulationJobRequest_compute :: Lens' SimulationJobRequest (Maybe Compute)
simulationJobRequest_compute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe Compute
compute :: Maybe Compute
$sel:compute:SimulationJobRequest' :: SimulationJobRequest -> Maybe Compute
compute} -> Maybe Compute
compute) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe Compute
a -> SimulationJobRequest
s {$sel:compute:SimulationJobRequest' :: Maybe Compute
compute = Maybe Compute
a} :: SimulationJobRequest)
simulationJobRequest_dataSources :: Lens.Lens' SimulationJobRequest (Prelude.Maybe (Prelude.NonEmpty DataSourceConfig))
simulationJobRequest_dataSources :: Lens' SimulationJobRequest (Maybe (NonEmpty DataSourceConfig))
simulationJobRequest_dataSources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe (NonEmpty DataSourceConfig)
dataSources :: Maybe (NonEmpty DataSourceConfig)
$sel:dataSources:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty DataSourceConfig)
dataSources} -> Maybe (NonEmpty DataSourceConfig)
dataSources) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe (NonEmpty DataSourceConfig)
a -> SimulationJobRequest
s {$sel:dataSources:SimulationJobRequest' :: Maybe (NonEmpty DataSourceConfig)
dataSources = Maybe (NonEmpty DataSourceConfig)
a} :: SimulationJobRequest) 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
simulationJobRequest_failureBehavior :: Lens.Lens' SimulationJobRequest (Prelude.Maybe FailureBehavior)
simulationJobRequest_failureBehavior :: Lens' SimulationJobRequest (Maybe FailureBehavior)
simulationJobRequest_failureBehavior = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe FailureBehavior
failureBehavior :: Maybe FailureBehavior
$sel:failureBehavior:SimulationJobRequest' :: SimulationJobRequest -> Maybe FailureBehavior
failureBehavior} -> Maybe FailureBehavior
failureBehavior) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe FailureBehavior
a -> SimulationJobRequest
s {$sel:failureBehavior:SimulationJobRequest' :: Maybe FailureBehavior
failureBehavior = Maybe FailureBehavior
a} :: SimulationJobRequest)
simulationJobRequest_iamRole :: Lens.Lens' SimulationJobRequest (Prelude.Maybe Prelude.Text)
simulationJobRequest_iamRole :: Lens' SimulationJobRequest (Maybe Text)
simulationJobRequest_iamRole = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe Text
iamRole :: Maybe Text
$sel:iamRole:SimulationJobRequest' :: SimulationJobRequest -> Maybe Text
iamRole} -> Maybe Text
iamRole) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe Text
a -> SimulationJobRequest
s {$sel:iamRole:SimulationJobRequest' :: Maybe Text
iamRole = Maybe Text
a} :: SimulationJobRequest)
simulationJobRequest_loggingConfig :: Lens.Lens' SimulationJobRequest (Prelude.Maybe LoggingConfig)
simulationJobRequest_loggingConfig :: Lens' SimulationJobRequest (Maybe LoggingConfig)
simulationJobRequest_loggingConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe LoggingConfig
loggingConfig :: Maybe LoggingConfig
$sel:loggingConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe LoggingConfig
loggingConfig} -> Maybe LoggingConfig
loggingConfig) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe LoggingConfig
a -> SimulationJobRequest
s {$sel:loggingConfig:SimulationJobRequest' :: Maybe LoggingConfig
loggingConfig = Maybe LoggingConfig
a} :: SimulationJobRequest)
simulationJobRequest_outputLocation :: Lens.Lens' SimulationJobRequest (Prelude.Maybe OutputLocation)
simulationJobRequest_outputLocation :: Lens' SimulationJobRequest (Maybe OutputLocation)
simulationJobRequest_outputLocation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe OutputLocation
outputLocation :: Maybe OutputLocation
$sel:outputLocation:SimulationJobRequest' :: SimulationJobRequest -> Maybe OutputLocation
outputLocation} -> Maybe OutputLocation
outputLocation) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe OutputLocation
a -> SimulationJobRequest
s {$sel:outputLocation:SimulationJobRequest' :: Maybe OutputLocation
outputLocation = Maybe OutputLocation
a} :: SimulationJobRequest)
simulationJobRequest_robotApplications :: Lens.Lens' SimulationJobRequest (Prelude.Maybe (Prelude.NonEmpty RobotApplicationConfig))
simulationJobRequest_robotApplications :: Lens'
SimulationJobRequest (Maybe (NonEmpty RobotApplicationConfig))
simulationJobRequest_robotApplications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe (NonEmpty RobotApplicationConfig)
robotApplications :: Maybe (NonEmpty RobotApplicationConfig)
$sel:robotApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty RobotApplicationConfig)
robotApplications} -> Maybe (NonEmpty RobotApplicationConfig)
robotApplications) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe (NonEmpty RobotApplicationConfig)
a -> SimulationJobRequest
s {$sel:robotApplications:SimulationJobRequest' :: Maybe (NonEmpty RobotApplicationConfig)
robotApplications = Maybe (NonEmpty RobotApplicationConfig)
a} :: SimulationJobRequest) 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
simulationJobRequest_simulationApplications :: Lens.Lens' SimulationJobRequest (Prelude.Maybe (Prelude.NonEmpty SimulationApplicationConfig))
simulationJobRequest_simulationApplications :: Lens'
SimulationJobRequest (Maybe (NonEmpty SimulationApplicationConfig))
simulationJobRequest_simulationApplications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications :: Maybe (NonEmpty SimulationApplicationConfig)
$sel:simulationApplications:SimulationJobRequest' :: SimulationJobRequest
-> Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications} -> Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe (NonEmpty SimulationApplicationConfig)
a -> SimulationJobRequest
s {$sel:simulationApplications:SimulationJobRequest' :: Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications = Maybe (NonEmpty SimulationApplicationConfig)
a} :: SimulationJobRequest) 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
simulationJobRequest_tags :: Lens.Lens' SimulationJobRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
simulationJobRequest_tags :: Lens' SimulationJobRequest (Maybe (HashMap Text Text))
simulationJobRequest_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:SimulationJobRequest' :: SimulationJobRequest -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe (HashMap Text Text)
a -> SimulationJobRequest
s {$sel:tags:SimulationJobRequest' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: SimulationJobRequest) 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
simulationJobRequest_useDefaultApplications :: Lens.Lens' SimulationJobRequest (Prelude.Maybe Prelude.Bool)
simulationJobRequest_useDefaultApplications :: Lens' SimulationJobRequest (Maybe Bool)
simulationJobRequest_useDefaultApplications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe Bool
useDefaultApplications :: Maybe Bool
$sel:useDefaultApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe Bool
useDefaultApplications} -> Maybe Bool
useDefaultApplications) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe Bool
a -> SimulationJobRequest
s {$sel:useDefaultApplications:SimulationJobRequest' :: Maybe Bool
useDefaultApplications = Maybe Bool
a} :: SimulationJobRequest)
simulationJobRequest_vpcConfig :: Lens.Lens' SimulationJobRequest (Prelude.Maybe VPCConfig)
simulationJobRequest_vpcConfig :: Lens' SimulationJobRequest (Maybe VPCConfig)
simulationJobRequest_vpcConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Maybe VPCConfig
vpcConfig :: Maybe VPCConfig
$sel:vpcConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe VPCConfig
vpcConfig} -> Maybe VPCConfig
vpcConfig) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Maybe VPCConfig
a -> SimulationJobRequest
s {$sel:vpcConfig:SimulationJobRequest' :: Maybe VPCConfig
vpcConfig = Maybe VPCConfig
a} :: SimulationJobRequest)
simulationJobRequest_maxJobDurationInSeconds :: Lens.Lens' SimulationJobRequest Prelude.Integer
simulationJobRequest_maxJobDurationInSeconds :: Lens' SimulationJobRequest Integer
simulationJobRequest_maxJobDurationInSeconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SimulationJobRequest' {Integer
maxJobDurationInSeconds :: Integer
$sel:maxJobDurationInSeconds:SimulationJobRequest' :: SimulationJobRequest -> Integer
maxJobDurationInSeconds} -> Integer
maxJobDurationInSeconds) (\s :: SimulationJobRequest
s@SimulationJobRequest' {} Integer
a -> SimulationJobRequest
s {$sel:maxJobDurationInSeconds:SimulationJobRequest' :: Integer
maxJobDurationInSeconds = Integer
a} :: SimulationJobRequest)
instance Data.FromJSON SimulationJobRequest where
parseJSON :: Value -> Parser SimulationJobRequest
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"SimulationJobRequest"
( \Object
x ->
Maybe Compute
-> Maybe (NonEmpty DataSourceConfig)
-> Maybe FailureBehavior
-> Maybe Text
-> Maybe LoggingConfig
-> Maybe OutputLocation
-> Maybe (NonEmpty RobotApplicationConfig)
-> Maybe (NonEmpty SimulationApplicationConfig)
-> Maybe (HashMap Text Text)
-> Maybe Bool
-> Maybe VPCConfig
-> Integer
-> SimulationJobRequest
SimulationJobRequest'
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
"compute")
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
"dataSources")
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
"failureBehavior")
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
"iamRole")
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
"loggingConfig")
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
"outputLocation")
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
"robotApplications")
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
"simulationApplications")
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
"useDefaultApplications")
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
"vpcConfig")
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
"maxJobDurationInSeconds")
)
instance Prelude.Hashable SimulationJobRequest where
hashWithSalt :: Int -> SimulationJobRequest -> Int
hashWithSalt Int
_salt SimulationJobRequest' {Integer
Maybe Bool
Maybe (NonEmpty DataSourceConfig)
Maybe (NonEmpty RobotApplicationConfig)
Maybe (NonEmpty SimulationApplicationConfig)
Maybe Text
Maybe (HashMap Text Text)
Maybe Compute
Maybe FailureBehavior
Maybe LoggingConfig
Maybe OutputLocation
Maybe VPCConfig
maxJobDurationInSeconds :: Integer
vpcConfig :: Maybe VPCConfig
useDefaultApplications :: Maybe Bool
tags :: Maybe (HashMap Text Text)
simulationApplications :: Maybe (NonEmpty SimulationApplicationConfig)
robotApplications :: Maybe (NonEmpty RobotApplicationConfig)
outputLocation :: Maybe OutputLocation
loggingConfig :: Maybe LoggingConfig
iamRole :: Maybe Text
failureBehavior :: Maybe FailureBehavior
dataSources :: Maybe (NonEmpty DataSourceConfig)
compute :: Maybe Compute
$sel:maxJobDurationInSeconds:SimulationJobRequest' :: SimulationJobRequest -> Integer
$sel:vpcConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe VPCConfig
$sel:useDefaultApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe Bool
$sel:tags:SimulationJobRequest' :: SimulationJobRequest -> Maybe (HashMap Text Text)
$sel:simulationApplications:SimulationJobRequest' :: SimulationJobRequest
-> Maybe (NonEmpty SimulationApplicationConfig)
$sel:robotApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty RobotApplicationConfig)
$sel:outputLocation:SimulationJobRequest' :: SimulationJobRequest -> Maybe OutputLocation
$sel:loggingConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe LoggingConfig
$sel:iamRole:SimulationJobRequest' :: SimulationJobRequest -> Maybe Text
$sel:failureBehavior:SimulationJobRequest' :: SimulationJobRequest -> Maybe FailureBehavior
$sel:dataSources:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty DataSourceConfig)
$sel:compute:SimulationJobRequest' :: SimulationJobRequest -> Maybe Compute
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Compute
compute
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DataSourceConfig)
dataSources
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FailureBehavior
failureBehavior
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
iamRole
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoggingConfig
loggingConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OutputLocation
outputLocation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty RobotApplicationConfig)
robotApplications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
useDefaultApplications
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VPCConfig
vpcConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Integer
maxJobDurationInSeconds
instance Prelude.NFData SimulationJobRequest where
rnf :: SimulationJobRequest -> ()
rnf SimulationJobRequest' {Integer
Maybe Bool
Maybe (NonEmpty DataSourceConfig)
Maybe (NonEmpty RobotApplicationConfig)
Maybe (NonEmpty SimulationApplicationConfig)
Maybe Text
Maybe (HashMap Text Text)
Maybe Compute
Maybe FailureBehavior
Maybe LoggingConfig
Maybe OutputLocation
Maybe VPCConfig
maxJobDurationInSeconds :: Integer
vpcConfig :: Maybe VPCConfig
useDefaultApplications :: Maybe Bool
tags :: Maybe (HashMap Text Text)
simulationApplications :: Maybe (NonEmpty SimulationApplicationConfig)
robotApplications :: Maybe (NonEmpty RobotApplicationConfig)
outputLocation :: Maybe OutputLocation
loggingConfig :: Maybe LoggingConfig
iamRole :: Maybe Text
failureBehavior :: Maybe FailureBehavior
dataSources :: Maybe (NonEmpty DataSourceConfig)
compute :: Maybe Compute
$sel:maxJobDurationInSeconds:SimulationJobRequest' :: SimulationJobRequest -> Integer
$sel:vpcConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe VPCConfig
$sel:useDefaultApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe Bool
$sel:tags:SimulationJobRequest' :: SimulationJobRequest -> Maybe (HashMap Text Text)
$sel:simulationApplications:SimulationJobRequest' :: SimulationJobRequest
-> Maybe (NonEmpty SimulationApplicationConfig)
$sel:robotApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty RobotApplicationConfig)
$sel:outputLocation:SimulationJobRequest' :: SimulationJobRequest -> Maybe OutputLocation
$sel:loggingConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe LoggingConfig
$sel:iamRole:SimulationJobRequest' :: SimulationJobRequest -> Maybe Text
$sel:failureBehavior:SimulationJobRequest' :: SimulationJobRequest -> Maybe FailureBehavior
$sel:dataSources:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty DataSourceConfig)
$sel:compute:SimulationJobRequest' :: SimulationJobRequest -> Maybe Compute
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Compute
compute
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty DataSourceConfig)
dataSources
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FailureBehavior
failureBehavior
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
iamRole
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoggingConfig
loggingConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OutputLocation
outputLocation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty RobotApplicationConfig)
robotApplications
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications
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 Bool
useDefaultApplications
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VPCConfig
vpcConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Integer
maxJobDurationInSeconds
instance Data.ToJSON SimulationJobRequest where
toJSON :: SimulationJobRequest -> Value
toJSON SimulationJobRequest' {Integer
Maybe Bool
Maybe (NonEmpty DataSourceConfig)
Maybe (NonEmpty RobotApplicationConfig)
Maybe (NonEmpty SimulationApplicationConfig)
Maybe Text
Maybe (HashMap Text Text)
Maybe Compute
Maybe FailureBehavior
Maybe LoggingConfig
Maybe OutputLocation
Maybe VPCConfig
maxJobDurationInSeconds :: Integer
vpcConfig :: Maybe VPCConfig
useDefaultApplications :: Maybe Bool
tags :: Maybe (HashMap Text Text)
simulationApplications :: Maybe (NonEmpty SimulationApplicationConfig)
robotApplications :: Maybe (NonEmpty RobotApplicationConfig)
outputLocation :: Maybe OutputLocation
loggingConfig :: Maybe LoggingConfig
iamRole :: Maybe Text
failureBehavior :: Maybe FailureBehavior
dataSources :: Maybe (NonEmpty DataSourceConfig)
compute :: Maybe Compute
$sel:maxJobDurationInSeconds:SimulationJobRequest' :: SimulationJobRequest -> Integer
$sel:vpcConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe VPCConfig
$sel:useDefaultApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe Bool
$sel:tags:SimulationJobRequest' :: SimulationJobRequest -> Maybe (HashMap Text Text)
$sel:simulationApplications:SimulationJobRequest' :: SimulationJobRequest
-> Maybe (NonEmpty SimulationApplicationConfig)
$sel:robotApplications:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty RobotApplicationConfig)
$sel:outputLocation:SimulationJobRequest' :: SimulationJobRequest -> Maybe OutputLocation
$sel:loggingConfig:SimulationJobRequest' :: SimulationJobRequest -> Maybe LoggingConfig
$sel:iamRole:SimulationJobRequest' :: SimulationJobRequest -> Maybe Text
$sel:failureBehavior:SimulationJobRequest' :: SimulationJobRequest -> Maybe FailureBehavior
$sel:dataSources:SimulationJobRequest' :: SimulationJobRequest -> Maybe (NonEmpty DataSourceConfig)
$sel:compute:SimulationJobRequest' :: SimulationJobRequest -> Maybe Compute
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"compute" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Compute
compute,
(Key
"dataSources" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DataSourceConfig)
dataSources,
(Key
"failureBehavior" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FailureBehavior
failureBehavior,
(Key
"iamRole" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
iamRole,
(Key
"loggingConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LoggingConfig
loggingConfig,
(Key
"outputLocation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe OutputLocation
outputLocation,
(Key
"robotApplications" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty RobotApplicationConfig)
robotApplications,
(Key
"simulationApplications" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty SimulationApplicationConfig)
simulationApplications,
(Key
"tags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
tags,
(Key
"useDefaultApplications" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
useDefaultApplications,
(Key
"vpcConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe VPCConfig
vpcConfig,
forall a. a -> Maybe a
Prelude.Just
( Key
"maxJobDurationInSeconds"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Integer
maxJobDurationInSeconds
)
]
)