stratosphere-0.24.2: library-gen/Stratosphere/ResourceProperties/SageMakerModelContainerDefinition.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html
module Stratosphere.ResourceProperties.SageMakerModelContainerDefinition where
import Stratosphere.ResourceImports
-- | Full data type definition for SageMakerModelContainerDefinition. See
-- 'sageMakerModelContainerDefinition' for a more convenient constructor.
data SageMakerModelContainerDefinition =
SageMakerModelContainerDefinition
{ _sageMakerModelContainerDefinitionContainerHostname :: Maybe (Val Text)
, _sageMakerModelContainerDefinitionEnvironment :: Maybe Object
, _sageMakerModelContainerDefinitionImage :: Val Text
, _sageMakerModelContainerDefinitionModelDataUrl :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON SageMakerModelContainerDefinition where
toJSON SageMakerModelContainerDefinition{..} =
object $
catMaybes
[ fmap (("ContainerHostname",) . toJSON) _sageMakerModelContainerDefinitionContainerHostname
, fmap (("Environment",) . toJSON) _sageMakerModelContainerDefinitionEnvironment
, (Just . ("Image",) . toJSON) _sageMakerModelContainerDefinitionImage
, fmap (("ModelDataUrl",) . toJSON) _sageMakerModelContainerDefinitionModelDataUrl
]
instance FromJSON SageMakerModelContainerDefinition where
parseJSON (Object obj) =
SageMakerModelContainerDefinition <$>
(obj .:? "ContainerHostname") <*>
(obj .:? "Environment") <*>
(obj .: "Image") <*>
(obj .:? "ModelDataUrl")
parseJSON _ = mempty
-- | Constructor for 'SageMakerModelContainerDefinition' containing required
-- fields as arguments.
sageMakerModelContainerDefinition
:: Val Text -- ^ 'smmcdImage'
-> SageMakerModelContainerDefinition
sageMakerModelContainerDefinition imagearg =
SageMakerModelContainerDefinition
{ _sageMakerModelContainerDefinitionContainerHostname = Nothing
, _sageMakerModelContainerDefinitionEnvironment = Nothing
, _sageMakerModelContainerDefinitionImage = imagearg
, _sageMakerModelContainerDefinitionModelDataUrl = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-containerhostname
smmcdContainerHostname :: Lens' SageMakerModelContainerDefinition (Maybe (Val Text))
smmcdContainerHostname = lens _sageMakerModelContainerDefinitionContainerHostname (\s a -> s { _sageMakerModelContainerDefinitionContainerHostname = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-environment
smmcdEnvironment :: Lens' SageMakerModelContainerDefinition (Maybe Object)
smmcdEnvironment = lens _sageMakerModelContainerDefinitionEnvironment (\s a -> s { _sageMakerModelContainerDefinitionEnvironment = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image
smmcdImage :: Lens' SageMakerModelContainerDefinition (Val Text)
smmcdImage = lens _sageMakerModelContainerDefinitionImage (\s a -> s { _sageMakerModelContainerDefinitionImage = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldataurl
smmcdModelDataUrl :: Lens' SageMakerModelContainerDefinition (Maybe (Val Text))
smmcdModelDataUrl = lens _sageMakerModelContainerDefinitionModelDataUrl (\s a -> s { _sageMakerModelContainerDefinitionModelDataUrl = a })