{-# 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.SageMaker.Types.RecommendationJobInputConfig 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.SageMaker.Types.EndpointInfo
import Amazonka.SageMaker.Types.EndpointInputConfiguration
import Amazonka.SageMaker.Types.RecommendationJobContainerConfig
import Amazonka.SageMaker.Types.RecommendationJobResourceLimit
import Amazonka.SageMaker.Types.RecommendationJobVpcConfig
import Amazonka.SageMaker.Types.TrafficPattern
data RecommendationJobInputConfig = RecommendationJobInputConfig'
{
RecommendationJobInputConfig
-> Maybe RecommendationJobContainerConfig
containerConfig :: Prelude.Maybe RecommendationJobContainerConfig,
RecommendationJobInputConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations :: Prelude.Maybe (Prelude.NonEmpty EndpointInputConfiguration),
RecommendationJobInputConfig -> Maybe [EndpointInfo]
endpoints :: Prelude.Maybe [EndpointInfo],
RecommendationJobInputConfig -> Maybe Natural
jobDurationInSeconds :: Prelude.Maybe Prelude.Natural,
RecommendationJobInputConfig
-> Maybe RecommendationJobResourceLimit
resourceLimit :: Prelude.Maybe RecommendationJobResourceLimit,
RecommendationJobInputConfig -> Maybe TrafficPattern
trafficPattern :: Prelude.Maybe TrafficPattern,
RecommendationJobInputConfig -> Maybe Text
volumeKmsKeyId :: Prelude.Maybe Prelude.Text,
RecommendationJobInputConfig -> Maybe RecommendationJobVpcConfig
vpcConfig :: Prelude.Maybe RecommendationJobVpcConfig,
RecommendationJobInputConfig -> Text
modelPackageVersionArn :: Prelude.Text
}
deriving (RecommendationJobInputConfig
-> RecommendationJobInputConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RecommendationJobInputConfig
-> RecommendationJobInputConfig -> Bool
$c/= :: RecommendationJobInputConfig
-> RecommendationJobInputConfig -> Bool
== :: RecommendationJobInputConfig
-> RecommendationJobInputConfig -> Bool
$c== :: RecommendationJobInputConfig
-> RecommendationJobInputConfig -> Bool
Prelude.Eq, ReadPrec [RecommendationJobInputConfig]
ReadPrec RecommendationJobInputConfig
Int -> ReadS RecommendationJobInputConfig
ReadS [RecommendationJobInputConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RecommendationJobInputConfig]
$creadListPrec :: ReadPrec [RecommendationJobInputConfig]
readPrec :: ReadPrec RecommendationJobInputConfig
$creadPrec :: ReadPrec RecommendationJobInputConfig
readList :: ReadS [RecommendationJobInputConfig]
$creadList :: ReadS [RecommendationJobInputConfig]
readsPrec :: Int -> ReadS RecommendationJobInputConfig
$creadsPrec :: Int -> ReadS RecommendationJobInputConfig
Prelude.Read, Int -> RecommendationJobInputConfig -> ShowS
[RecommendationJobInputConfig] -> ShowS
RecommendationJobInputConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RecommendationJobInputConfig] -> ShowS
$cshowList :: [RecommendationJobInputConfig] -> ShowS
show :: RecommendationJobInputConfig -> String
$cshow :: RecommendationJobInputConfig -> String
showsPrec :: Int -> RecommendationJobInputConfig -> ShowS
$cshowsPrec :: Int -> RecommendationJobInputConfig -> ShowS
Prelude.Show, forall x.
Rep RecommendationJobInputConfig x -> RecommendationJobInputConfig
forall x.
RecommendationJobInputConfig -> Rep RecommendationJobInputConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RecommendationJobInputConfig x -> RecommendationJobInputConfig
$cfrom :: forall x.
RecommendationJobInputConfig -> Rep RecommendationJobInputConfig x
Prelude.Generic)
newRecommendationJobInputConfig ::
Prelude.Text ->
RecommendationJobInputConfig
newRecommendationJobInputConfig :: Text -> RecommendationJobInputConfig
newRecommendationJobInputConfig
Text
pModelPackageVersionArn_ =
RecommendationJobInputConfig'
{ $sel:containerConfig:RecommendationJobInputConfig' :: Maybe RecommendationJobContainerConfig
containerConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:endpointConfigurations:RecommendationJobInputConfig' :: Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations = forall a. Maybe a
Prelude.Nothing,
$sel:endpoints:RecommendationJobInputConfig' :: Maybe [EndpointInfo]
endpoints = forall a. Maybe a
Prelude.Nothing,
$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: Maybe Natural
jobDurationInSeconds = forall a. Maybe a
Prelude.Nothing,
$sel:resourceLimit:RecommendationJobInputConfig' :: Maybe RecommendationJobResourceLimit
resourceLimit = forall a. Maybe a
Prelude.Nothing,
$sel:trafficPattern:RecommendationJobInputConfig' :: Maybe TrafficPattern
trafficPattern = forall a. Maybe a
Prelude.Nothing,
$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: Maybe Text
volumeKmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:vpcConfig:RecommendationJobInputConfig' :: Maybe RecommendationJobVpcConfig
vpcConfig = forall a. Maybe a
Prelude.Nothing,
$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: Text
modelPackageVersionArn =
Text
pModelPackageVersionArn_
}
recommendationJobInputConfig_containerConfig :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe RecommendationJobContainerConfig)
recommendationJobInputConfig_containerConfig :: Lens'
RecommendationJobInputConfig
(Maybe RecommendationJobContainerConfig)
recommendationJobInputConfig_containerConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe RecommendationJobContainerConfig
containerConfig :: Maybe RecommendationJobContainerConfig
$sel:containerConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobContainerConfig
containerConfig} -> Maybe RecommendationJobContainerConfig
containerConfig) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe RecommendationJobContainerConfig
a -> RecommendationJobInputConfig
s {$sel:containerConfig:RecommendationJobInputConfig' :: Maybe RecommendationJobContainerConfig
containerConfig = Maybe RecommendationJobContainerConfig
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_endpointConfigurations :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe (Prelude.NonEmpty EndpointInputConfiguration))
recommendationJobInputConfig_endpointConfigurations :: Lens'
RecommendationJobInputConfig
(Maybe (NonEmpty EndpointInputConfiguration))
recommendationJobInputConfig_endpointConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations :: Maybe (NonEmpty EndpointInputConfiguration)
$sel:endpointConfigurations:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations} -> Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe (NonEmpty EndpointInputConfiguration)
a -> RecommendationJobInputConfig
s {$sel:endpointConfigurations:RecommendationJobInputConfig' :: Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations = Maybe (NonEmpty EndpointInputConfiguration)
a} :: RecommendationJobInputConfig) 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
recommendationJobInputConfig_endpoints :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe [EndpointInfo])
recommendationJobInputConfig_endpoints :: Lens' RecommendationJobInputConfig (Maybe [EndpointInfo])
recommendationJobInputConfig_endpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe [EndpointInfo]
endpoints :: Maybe [EndpointInfo]
$sel:endpoints:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe [EndpointInfo]
endpoints} -> Maybe [EndpointInfo]
endpoints) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe [EndpointInfo]
a -> RecommendationJobInputConfig
s {$sel:endpoints:RecommendationJobInputConfig' :: Maybe [EndpointInfo]
endpoints = Maybe [EndpointInfo]
a} :: RecommendationJobInputConfig) 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
recommendationJobInputConfig_jobDurationInSeconds :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe Prelude.Natural)
recommendationJobInputConfig_jobDurationInSeconds :: Lens' RecommendationJobInputConfig (Maybe Natural)
recommendationJobInputConfig_jobDurationInSeconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe Natural
jobDurationInSeconds :: Maybe Natural
$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Natural
jobDurationInSeconds} -> Maybe Natural
jobDurationInSeconds) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe Natural
a -> RecommendationJobInputConfig
s {$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: Maybe Natural
jobDurationInSeconds = Maybe Natural
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_resourceLimit :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe RecommendationJobResourceLimit)
recommendationJobInputConfig_resourceLimit :: Lens'
RecommendationJobInputConfig (Maybe RecommendationJobResourceLimit)
recommendationJobInputConfig_resourceLimit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe RecommendationJobResourceLimit
resourceLimit :: Maybe RecommendationJobResourceLimit
$sel:resourceLimit:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobResourceLimit
resourceLimit} -> Maybe RecommendationJobResourceLimit
resourceLimit) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe RecommendationJobResourceLimit
a -> RecommendationJobInputConfig
s {$sel:resourceLimit:RecommendationJobInputConfig' :: Maybe RecommendationJobResourceLimit
resourceLimit = Maybe RecommendationJobResourceLimit
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_trafficPattern :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe TrafficPattern)
recommendationJobInputConfig_trafficPattern :: Lens' RecommendationJobInputConfig (Maybe TrafficPattern)
recommendationJobInputConfig_trafficPattern = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe TrafficPattern
trafficPattern :: Maybe TrafficPattern
$sel:trafficPattern:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe TrafficPattern
trafficPattern} -> Maybe TrafficPattern
trafficPattern) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe TrafficPattern
a -> RecommendationJobInputConfig
s {$sel:trafficPattern:RecommendationJobInputConfig' :: Maybe TrafficPattern
trafficPattern = Maybe TrafficPattern
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_volumeKmsKeyId :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe Prelude.Text)
recommendationJobInputConfig_volumeKmsKeyId :: Lens' RecommendationJobInputConfig (Maybe Text)
recommendationJobInputConfig_volumeKmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe Text
volumeKmsKeyId :: Maybe Text
$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Text
volumeKmsKeyId} -> Maybe Text
volumeKmsKeyId) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe Text
a -> RecommendationJobInputConfig
s {$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: Maybe Text
volumeKmsKeyId = Maybe Text
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_vpcConfig :: Lens.Lens' RecommendationJobInputConfig (Prelude.Maybe RecommendationJobVpcConfig)
recommendationJobInputConfig_vpcConfig :: Lens'
RecommendationJobInputConfig (Maybe RecommendationJobVpcConfig)
recommendationJobInputConfig_vpcConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Maybe RecommendationJobVpcConfig
vpcConfig :: Maybe RecommendationJobVpcConfig
$sel:vpcConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe RecommendationJobVpcConfig
vpcConfig} -> Maybe RecommendationJobVpcConfig
vpcConfig) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Maybe RecommendationJobVpcConfig
a -> RecommendationJobInputConfig
s {$sel:vpcConfig:RecommendationJobInputConfig' :: Maybe RecommendationJobVpcConfig
vpcConfig = Maybe RecommendationJobVpcConfig
a} :: RecommendationJobInputConfig)
recommendationJobInputConfig_modelPackageVersionArn :: Lens.Lens' RecommendationJobInputConfig Prelude.Text
recommendationJobInputConfig_modelPackageVersionArn :: Lens' RecommendationJobInputConfig Text
recommendationJobInputConfig_modelPackageVersionArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RecommendationJobInputConfig' {Text
modelPackageVersionArn :: Text
$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Text
modelPackageVersionArn} -> Text
modelPackageVersionArn) (\s :: RecommendationJobInputConfig
s@RecommendationJobInputConfig' {} Text
a -> RecommendationJobInputConfig
s {$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: Text
modelPackageVersionArn = Text
a} :: RecommendationJobInputConfig)
instance Data.FromJSON RecommendationJobInputConfig where
parseJSON :: Value -> Parser RecommendationJobInputConfig
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"RecommendationJobInputConfig"
( \Object
x ->
Maybe RecommendationJobContainerConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
-> Maybe [EndpointInfo]
-> Maybe Natural
-> Maybe RecommendationJobResourceLimit
-> Maybe TrafficPattern
-> Maybe Text
-> Maybe RecommendationJobVpcConfig
-> Text
-> RecommendationJobInputConfig
RecommendationJobInputConfig'
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
"ContainerConfig")
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
"EndpointConfigurations")
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
"Endpoints" 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
"JobDurationInSeconds")
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
"ResourceLimit")
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
"TrafficPattern")
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
"VolumeKmsKeyId")
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
"ModelPackageVersionArn")
)
instance
Prelude.Hashable
RecommendationJobInputConfig
where
hashWithSalt :: Int -> RecommendationJobInputConfig -> Int
hashWithSalt Int
_salt RecommendationJobInputConfig' {Maybe Natural
Maybe [EndpointInfo]
Maybe (NonEmpty EndpointInputConfiguration)
Maybe Text
Maybe RecommendationJobContainerConfig
Maybe RecommendationJobResourceLimit
Maybe RecommendationJobVpcConfig
Maybe TrafficPattern
Text
modelPackageVersionArn :: Text
vpcConfig :: Maybe RecommendationJobVpcConfig
volumeKmsKeyId :: Maybe Text
trafficPattern :: Maybe TrafficPattern
resourceLimit :: Maybe RecommendationJobResourceLimit
jobDurationInSeconds :: Maybe Natural
endpoints :: Maybe [EndpointInfo]
endpointConfigurations :: Maybe (NonEmpty EndpointInputConfiguration)
containerConfig :: Maybe RecommendationJobContainerConfig
$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Text
$sel:vpcConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe RecommendationJobVpcConfig
$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Text
$sel:trafficPattern:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe TrafficPattern
$sel:resourceLimit:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobResourceLimit
$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Natural
$sel:endpoints:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe [EndpointInfo]
$sel:endpointConfigurations:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
$sel:containerConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobContainerConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommendationJobContainerConfig
containerConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [EndpointInfo]
endpoints
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
jobDurationInSeconds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommendationJobResourceLimit
resourceLimit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrafficPattern
trafficPattern
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
volumeKmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommendationJobVpcConfig
vpcConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
modelPackageVersionArn
instance Prelude.NFData RecommendationJobInputConfig where
rnf :: RecommendationJobInputConfig -> ()
rnf RecommendationJobInputConfig' {Maybe Natural
Maybe [EndpointInfo]
Maybe (NonEmpty EndpointInputConfiguration)
Maybe Text
Maybe RecommendationJobContainerConfig
Maybe RecommendationJobResourceLimit
Maybe RecommendationJobVpcConfig
Maybe TrafficPattern
Text
modelPackageVersionArn :: Text
vpcConfig :: Maybe RecommendationJobVpcConfig
volumeKmsKeyId :: Maybe Text
trafficPattern :: Maybe TrafficPattern
resourceLimit :: Maybe RecommendationJobResourceLimit
jobDurationInSeconds :: Maybe Natural
endpoints :: Maybe [EndpointInfo]
endpointConfigurations :: Maybe (NonEmpty EndpointInputConfiguration)
containerConfig :: Maybe RecommendationJobContainerConfig
$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Text
$sel:vpcConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe RecommendationJobVpcConfig
$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Text
$sel:trafficPattern:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe TrafficPattern
$sel:resourceLimit:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobResourceLimit
$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Natural
$sel:endpoints:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe [EndpointInfo]
$sel:endpointConfigurations:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
$sel:containerConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobContainerConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommendationJobContainerConfig
containerConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty EndpointInputConfiguration)
endpointConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [EndpointInfo]
endpoints
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
jobDurationInSeconds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommendationJobResourceLimit
resourceLimit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrafficPattern
trafficPattern
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
volumeKmsKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommendationJobVpcConfig
vpcConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
modelPackageVersionArn
instance Data.ToJSON RecommendationJobInputConfig where
toJSON :: RecommendationJobInputConfig -> Value
toJSON RecommendationJobInputConfig' {Maybe Natural
Maybe [EndpointInfo]
Maybe (NonEmpty EndpointInputConfiguration)
Maybe Text
Maybe RecommendationJobContainerConfig
Maybe RecommendationJobResourceLimit
Maybe RecommendationJobVpcConfig
Maybe TrafficPattern
Text
modelPackageVersionArn :: Text
vpcConfig :: Maybe RecommendationJobVpcConfig
volumeKmsKeyId :: Maybe Text
trafficPattern :: Maybe TrafficPattern
resourceLimit :: Maybe RecommendationJobResourceLimit
jobDurationInSeconds :: Maybe Natural
endpoints :: Maybe [EndpointInfo]
endpointConfigurations :: Maybe (NonEmpty EndpointInputConfiguration)
containerConfig :: Maybe RecommendationJobContainerConfig
$sel:modelPackageVersionArn:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Text
$sel:vpcConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe RecommendationJobVpcConfig
$sel:volumeKmsKeyId:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Text
$sel:trafficPattern:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe TrafficPattern
$sel:resourceLimit:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobResourceLimit
$sel:jobDurationInSeconds:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe Natural
$sel:endpoints:RecommendationJobInputConfig' :: RecommendationJobInputConfig -> Maybe [EndpointInfo]
$sel:endpointConfigurations:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe (NonEmpty EndpointInputConfiguration)
$sel:containerConfig:RecommendationJobInputConfig' :: RecommendationJobInputConfig
-> Maybe RecommendationJobContainerConfig
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ContainerConfig" 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 RecommendationJobContainerConfig
containerConfig,
(Key
"EndpointConfigurations" 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 EndpointInputConfiguration)
endpointConfigurations,
(Key
"Endpoints" 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 [EndpointInfo]
endpoints,
(Key
"JobDurationInSeconds" 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 Natural
jobDurationInSeconds,
(Key
"ResourceLimit" 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 RecommendationJobResourceLimit
resourceLimit,
(Key
"TrafficPattern" 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 TrafficPattern
trafficPattern,
(Key
"VolumeKmsKeyId" 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
volumeKmsKeyId,
(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 RecommendationJobVpcConfig
vpcConfig,
forall a. a -> Maybe a
Prelude.Just
( Key
"ModelPackageVersionArn"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
modelPackageVersionArn
)
]
)