module Stratosphere.ResourceProperties.KinesisFirehoseBufferingHints where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data KinesisFirehoseBufferingHints =
KinesisFirehoseBufferingHints
{ _kinesisFirehoseBufferingHintsIntervalInSeconds :: Val Integer'
, _kinesisFirehoseBufferingHintsSizeInMBs :: Val Integer'
} deriving (Show, Generic)
instance ToJSON KinesisFirehoseBufferingHints where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
instance FromJSON KinesisFirehoseBufferingHints where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 30, omitNothingFields = True }
kinesisFirehoseBufferingHints
:: Val Integer'
-> Val Integer'
-> KinesisFirehoseBufferingHints
kinesisFirehoseBufferingHints intervalInSecondsarg sizeInMBsarg =
KinesisFirehoseBufferingHints
{ _kinesisFirehoseBufferingHintsIntervalInSeconds = intervalInSecondsarg
, _kinesisFirehoseBufferingHintsSizeInMBs = sizeInMBsarg
}
kfbhIntervalInSeconds :: Lens' KinesisFirehoseBufferingHints (Val Integer')
kfbhIntervalInSeconds = lens _kinesisFirehoseBufferingHintsIntervalInSeconds (\s a -> s { _kinesisFirehoseBufferingHintsIntervalInSeconds = a })
kfbhSizeInMBs :: Lens' KinesisFirehoseBufferingHints (Val Integer')
kfbhSizeInMBs = lens _kinesisFirehoseBufferingHintsSizeInMBs (\s a -> s { _kinesisFirehoseBufferingHintsSizeInMBs = a })