stratosphere-0.32.0: library-gen/Stratosphere/ResourceProperties/SageMakerEndpointConfigProductionVariant.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html
module Stratosphere.ResourceProperties.SageMakerEndpointConfigProductionVariant where
import Stratosphere.ResourceImports
-- | Full data type definition for SageMakerEndpointConfigProductionVariant.
-- See 'sageMakerEndpointConfigProductionVariant' for a more convenient
-- constructor.
data SageMakerEndpointConfigProductionVariant =
SageMakerEndpointConfigProductionVariant
{ _sageMakerEndpointConfigProductionVariantAcceleratorType :: Maybe (Val Text)
, _sageMakerEndpointConfigProductionVariantInitialInstanceCount :: Val Integer
, _sageMakerEndpointConfigProductionVariantInitialVariantWeight :: Val Double
, _sageMakerEndpointConfigProductionVariantInstanceType :: Val Text
, _sageMakerEndpointConfigProductionVariantModelName :: Val Text
, _sageMakerEndpointConfigProductionVariantVariantName :: Val Text
} deriving (Show, Eq)
instance ToJSON SageMakerEndpointConfigProductionVariant where
toJSON SageMakerEndpointConfigProductionVariant{..} =
object $
catMaybes
[ fmap (("AcceleratorType",) . toJSON) _sageMakerEndpointConfigProductionVariantAcceleratorType
, (Just . ("InitialInstanceCount",) . toJSON . fmap Integer') _sageMakerEndpointConfigProductionVariantInitialInstanceCount
, (Just . ("InitialVariantWeight",) . toJSON . fmap Double') _sageMakerEndpointConfigProductionVariantInitialVariantWeight
, (Just . ("InstanceType",) . toJSON) _sageMakerEndpointConfigProductionVariantInstanceType
, (Just . ("ModelName",) . toJSON) _sageMakerEndpointConfigProductionVariantModelName
, (Just . ("VariantName",) . toJSON) _sageMakerEndpointConfigProductionVariantVariantName
]
-- | Constructor for 'SageMakerEndpointConfigProductionVariant' containing
-- required fields as arguments.
sageMakerEndpointConfigProductionVariant
:: Val Integer -- ^ 'smecpvInitialInstanceCount'
-> Val Double -- ^ 'smecpvInitialVariantWeight'
-> Val Text -- ^ 'smecpvInstanceType'
-> Val Text -- ^ 'smecpvModelName'
-> Val Text -- ^ 'smecpvVariantName'
-> SageMakerEndpointConfigProductionVariant
sageMakerEndpointConfigProductionVariant initialInstanceCountarg initialVariantWeightarg instanceTypearg modelNamearg variantNamearg =
SageMakerEndpointConfigProductionVariant
{ _sageMakerEndpointConfigProductionVariantAcceleratorType = Nothing
, _sageMakerEndpointConfigProductionVariantInitialInstanceCount = initialInstanceCountarg
, _sageMakerEndpointConfigProductionVariantInitialVariantWeight = initialVariantWeightarg
, _sageMakerEndpointConfigProductionVariantInstanceType = instanceTypearg
, _sageMakerEndpointConfigProductionVariantModelName = modelNamearg
, _sageMakerEndpointConfigProductionVariantVariantName = variantNamearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-acceleratortype
smecpvAcceleratorType :: Lens' SageMakerEndpointConfigProductionVariant (Maybe (Val Text))
smecpvAcceleratorType = lens _sageMakerEndpointConfigProductionVariantAcceleratorType (\s a -> s { _sageMakerEndpointConfigProductionVariantAcceleratorType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-initialinstancecount
smecpvInitialInstanceCount :: Lens' SageMakerEndpointConfigProductionVariant (Val Integer)
smecpvInitialInstanceCount = lens _sageMakerEndpointConfigProductionVariantInitialInstanceCount (\s a -> s { _sageMakerEndpointConfigProductionVariantInitialInstanceCount = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight
smecpvInitialVariantWeight :: Lens' SageMakerEndpointConfigProductionVariant (Val Double)
smecpvInitialVariantWeight = lens _sageMakerEndpointConfigProductionVariantInitialVariantWeight (\s a -> s { _sageMakerEndpointConfigProductionVariantInitialVariantWeight = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-instancetype
smecpvInstanceType :: Lens' SageMakerEndpointConfigProductionVariant (Val Text)
smecpvInstanceType = lens _sageMakerEndpointConfigProductionVariantInstanceType (\s a -> s { _sageMakerEndpointConfigProductionVariantInstanceType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-modelname
smecpvModelName :: Lens' SageMakerEndpointConfigProductionVariant (Val Text)
smecpvModelName = lens _sageMakerEndpointConfigProductionVariantModelName (\s a -> s { _sageMakerEndpointConfigProductionVariantModelName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-variantname
smecpvVariantName :: Lens' SageMakerEndpointConfigProductionVariant (Val Text)
smecpvVariantName = lens _sageMakerEndpointConfigProductionVariantVariantName (\s a -> s { _sageMakerEndpointConfigProductionVariantVariantName = a })