{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html module Stratosphere.Resources.SageMakerNotebookInstance where import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.Tag -- | Full data type definition for SageMakerNotebookInstance. See -- 'sageMakerNotebookInstance' for a more convenient constructor. data SageMakerNotebookInstance = SageMakerNotebookInstance { _sageMakerNotebookInstanceDirectInternetAccess :: Maybe (Val Text) , _sageMakerNotebookInstanceInstanceType :: Val Text , _sageMakerNotebookInstanceKmsKeyId :: Maybe (Val Text) , _sageMakerNotebookInstanceLifecycleConfigName :: Maybe (Val Text) , _sageMakerNotebookInstanceNotebookInstanceName :: Maybe (Val Text) , _sageMakerNotebookInstanceRoleArn :: Val Text , _sageMakerNotebookInstanceSecurityGroupIds :: Maybe (ValList Text) , _sageMakerNotebookInstanceSubnetId :: Maybe (Val Text) , _sageMakerNotebookInstanceTags :: Maybe [Tag] } deriving (Show, Eq) instance ToJSON SageMakerNotebookInstance where toJSON SageMakerNotebookInstance{..} = object $ catMaybes [ fmap (("DirectInternetAccess",) . toJSON) _sageMakerNotebookInstanceDirectInternetAccess , (Just . ("InstanceType",) . toJSON) _sageMakerNotebookInstanceInstanceType , fmap (("KmsKeyId",) . toJSON) _sageMakerNotebookInstanceKmsKeyId , fmap (("LifecycleConfigName",) . toJSON) _sageMakerNotebookInstanceLifecycleConfigName , fmap (("NotebookInstanceName",) . toJSON) _sageMakerNotebookInstanceNotebookInstanceName , (Just . ("RoleArn",) . toJSON) _sageMakerNotebookInstanceRoleArn , fmap (("SecurityGroupIds",) . toJSON) _sageMakerNotebookInstanceSecurityGroupIds , fmap (("SubnetId",) . toJSON) _sageMakerNotebookInstanceSubnetId , fmap (("Tags",) . toJSON) _sageMakerNotebookInstanceTags ] instance FromJSON SageMakerNotebookInstance where parseJSON (Object obj) = SageMakerNotebookInstance <$> (obj .:? "DirectInternetAccess") <*> (obj .: "InstanceType") <*> (obj .:? "KmsKeyId") <*> (obj .:? "LifecycleConfigName") <*> (obj .:? "NotebookInstanceName") <*> (obj .: "RoleArn") <*> (obj .:? "SecurityGroupIds") <*> (obj .:? "SubnetId") <*> (obj .:? "Tags") parseJSON _ = mempty -- | Constructor for 'SageMakerNotebookInstance' containing required fields as -- arguments. sageMakerNotebookInstance :: Val Text -- ^ 'smniInstanceType' -> Val Text -- ^ 'smniRoleArn' -> SageMakerNotebookInstance sageMakerNotebookInstance instanceTypearg roleArnarg = SageMakerNotebookInstance { _sageMakerNotebookInstanceDirectInternetAccess = Nothing , _sageMakerNotebookInstanceInstanceType = instanceTypearg , _sageMakerNotebookInstanceKmsKeyId = Nothing , _sageMakerNotebookInstanceLifecycleConfigName = Nothing , _sageMakerNotebookInstanceNotebookInstanceName = Nothing , _sageMakerNotebookInstanceRoleArn = roleArnarg , _sageMakerNotebookInstanceSecurityGroupIds = Nothing , _sageMakerNotebookInstanceSubnetId = Nothing , _sageMakerNotebookInstanceTags = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-directinternetaccess smniDirectInternetAccess :: Lens' SageMakerNotebookInstance (Maybe (Val Text)) smniDirectInternetAccess = lens _sageMakerNotebookInstanceDirectInternetAccess (\s a -> s { _sageMakerNotebookInstanceDirectInternetAccess = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-instancetype smniInstanceType :: Lens' SageMakerNotebookInstance (Val Text) smniInstanceType = lens _sageMakerNotebookInstanceInstanceType (\s a -> s { _sageMakerNotebookInstanceInstanceType = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-kmskeyid smniKmsKeyId :: Lens' SageMakerNotebookInstance (Maybe (Val Text)) smniKmsKeyId = lens _sageMakerNotebookInstanceKmsKeyId (\s a -> s { _sageMakerNotebookInstanceKmsKeyId = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-lifecycleconfigname smniLifecycleConfigName :: Lens' SageMakerNotebookInstance (Maybe (Val Text)) smniLifecycleConfigName = lens _sageMakerNotebookInstanceLifecycleConfigName (\s a -> s { _sageMakerNotebookInstanceLifecycleConfigName = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-notebookinstancename smniNotebookInstanceName :: Lens' SageMakerNotebookInstance (Maybe (Val Text)) smniNotebookInstanceName = lens _sageMakerNotebookInstanceNotebookInstanceName (\s a -> s { _sageMakerNotebookInstanceNotebookInstanceName = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rolearn smniRoleArn :: Lens' SageMakerNotebookInstance (Val Text) smniRoleArn = lens _sageMakerNotebookInstanceRoleArn (\s a -> s { _sageMakerNotebookInstanceRoleArn = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-securitygroupids smniSecurityGroupIds :: Lens' SageMakerNotebookInstance (Maybe (ValList Text)) smniSecurityGroupIds = lens _sageMakerNotebookInstanceSecurityGroupIds (\s a -> s { _sageMakerNotebookInstanceSecurityGroupIds = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-subnetid smniSubnetId :: Lens' SageMakerNotebookInstance (Maybe (Val Text)) smniSubnetId = lens _sageMakerNotebookInstanceSubnetId (\s a -> s { _sageMakerNotebookInstanceSubnetId = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-tags smniTags :: Lens' SageMakerNotebookInstance (Maybe [Tag]) smniTags = lens _sageMakerNotebookInstanceTags (\s a -> s { _sageMakerNotebookInstanceTags = a })