stratosphere-0.38.0: library-gen/Stratosphere/ResourceProperties/GlueSecurityConfigurationCloudWatchEncryption.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html
module Stratosphere.ResourceProperties.GlueSecurityConfigurationCloudWatchEncryption where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- GlueSecurityConfigurationCloudWatchEncryption. See
-- 'glueSecurityConfigurationCloudWatchEncryption' for a more convenient
-- constructor.
data GlueSecurityConfigurationCloudWatchEncryption =
GlueSecurityConfigurationCloudWatchEncryption
{ _glueSecurityConfigurationCloudWatchEncryptionCloudWatchEncryptionMode :: Maybe (Val Text)
, _glueSecurityConfigurationCloudWatchEncryptionKmsKeyArn :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON GlueSecurityConfigurationCloudWatchEncryption where
toJSON GlueSecurityConfigurationCloudWatchEncryption{..} =
object $
catMaybes
[ fmap (("CloudWatchEncryptionMode",) . toJSON) _glueSecurityConfigurationCloudWatchEncryptionCloudWatchEncryptionMode
, fmap (("KmsKeyArn",) . toJSON) _glueSecurityConfigurationCloudWatchEncryptionKmsKeyArn
]
-- | Constructor for 'GlueSecurityConfigurationCloudWatchEncryption'
-- containing required fields as arguments.
glueSecurityConfigurationCloudWatchEncryption
:: GlueSecurityConfigurationCloudWatchEncryption
glueSecurityConfigurationCloudWatchEncryption =
GlueSecurityConfigurationCloudWatchEncryption
{ _glueSecurityConfigurationCloudWatchEncryptionCloudWatchEncryptionMode = Nothing
, _glueSecurityConfigurationCloudWatchEncryptionKmsKeyArn = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode
gsccweCloudWatchEncryptionMode :: Lens' GlueSecurityConfigurationCloudWatchEncryption (Maybe (Val Text))
gsccweCloudWatchEncryptionMode = lens _glueSecurityConfigurationCloudWatchEncryptionCloudWatchEncryptionMode (\s a -> s { _glueSecurityConfigurationCloudWatchEncryptionCloudWatchEncryptionMode = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn
gsccweKmsKeyArn :: Lens' GlueSecurityConfigurationCloudWatchEncryption (Maybe (Val Text))
gsccweKmsKeyArn = lens _glueSecurityConfigurationCloudWatchEncryptionKmsKeyArn (\s a -> s { _glueSecurityConfigurationCloudWatchEncryptionKmsKeyArn = a })