stratosphere-0.32.0: library-gen/Stratosphere/ResourceProperties/KinesisAnalyticsV2ApplicationCheckpointConfiguration.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html
module Stratosphere.ResourceProperties.KinesisAnalyticsV2ApplicationCheckpointConfiguration where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- KinesisAnalyticsV2ApplicationCheckpointConfiguration. See
-- 'kinesisAnalyticsV2ApplicationCheckpointConfiguration' for a more
-- convenient constructor.
data KinesisAnalyticsV2ApplicationCheckpointConfiguration =
KinesisAnalyticsV2ApplicationCheckpointConfiguration
{ _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval :: Maybe (Val Integer)
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled :: Maybe (Val Bool)
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType :: Val Text
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints :: Maybe (Val Integer)
} deriving (Show, Eq)
instance ToJSON KinesisAnalyticsV2ApplicationCheckpointConfiguration where
toJSON KinesisAnalyticsV2ApplicationCheckpointConfiguration{..} =
object $
catMaybes
[ fmap (("CheckpointInterval",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval
, fmap (("CheckpointingEnabled",) . toJSON . fmap Bool') _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled
, (Just . ("ConfigurationType",) . toJSON) _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType
, fmap (("MinPauseBetweenCheckpoints",) . toJSON . fmap Integer') _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints
]
-- | Constructor for 'KinesisAnalyticsV2ApplicationCheckpointConfiguration'
-- containing required fields as arguments.
kinesisAnalyticsV2ApplicationCheckpointConfiguration
:: Val Text -- ^ 'kavaccConfigurationType'
-> KinesisAnalyticsV2ApplicationCheckpointConfiguration
kinesisAnalyticsV2ApplicationCheckpointConfiguration configurationTypearg =
KinesisAnalyticsV2ApplicationCheckpointConfiguration
{ _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval = Nothing
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled = Nothing
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType = configurationTypearg
, _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval
kavaccCheckpointInterval :: Lens' KinesisAnalyticsV2ApplicationCheckpointConfiguration (Maybe (Val Integer))
kavaccCheckpointInterval = lens _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval (\s a -> s { _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointInterval = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled
kavaccCheckpointingEnabled :: Lens' KinesisAnalyticsV2ApplicationCheckpointConfiguration (Maybe (Val Bool))
kavaccCheckpointingEnabled = lens _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled (\s a -> s { _kinesisAnalyticsV2ApplicationCheckpointConfigurationCheckpointingEnabled = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-configurationtype
kavaccConfigurationType :: Lens' KinesisAnalyticsV2ApplicationCheckpointConfiguration (Val Text)
kavaccConfigurationType = lens _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType (\s a -> s { _kinesisAnalyticsV2ApplicationCheckpointConfigurationConfigurationType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints
kavaccMinPauseBetweenCheckpoints :: Lens' KinesisAnalyticsV2ApplicationCheckpointConfiguration (Maybe (Val Integer))
kavaccMinPauseBetweenCheckpoints = lens _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints (\s a -> s { _kinesisAnalyticsV2ApplicationCheckpointConfigurationMinPauseBetweenCheckpoints = a })