stratosphere-0.15.2: library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html
module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- KinesisFirehoseDeliveryStreamElasticsearchRetryOptions. See
-- 'kinesisFirehoseDeliveryStreamElasticsearchRetryOptions' for a more
-- convenient constructor.
data KinesisFirehoseDeliveryStreamElasticsearchRetryOptions =
KinesisFirehoseDeliveryStreamElasticsearchRetryOptions
{ _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds :: Val Integer
} deriving (Show, Eq)
instance ToJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
toJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions{..} =
object $
catMaybes
[ (Just . ("DurationInSeconds",) . toJSON . fmap Integer') _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds
]
instance FromJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
parseJSON (Object obj) =
KinesisFirehoseDeliveryStreamElasticsearchRetryOptions <$>
fmap (fmap unInteger') (obj .: "DurationInSeconds")
parseJSON _ = mempty
-- | Constructor for 'KinesisFirehoseDeliveryStreamElasticsearchRetryOptions'
-- containing required fields as arguments.
kinesisFirehoseDeliveryStreamElasticsearchRetryOptions
:: Val Integer -- ^ 'kfdseroDurationInSeconds'
-> KinesisFirehoseDeliveryStreamElasticsearchRetryOptions
kinesisFirehoseDeliveryStreamElasticsearchRetryOptions durationInSecondsarg =
KinesisFirehoseDeliveryStreamElasticsearchRetryOptions
{ _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds = durationInSecondsarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html#cfn-kinesisfirehose-deliverystream-elasticsearchretryoptions-durationinseconds
kfdseroDurationInSeconds :: Lens' KinesisFirehoseDeliveryStreamElasticsearchRetryOptions (Val Integer)
kfdseroDurationInSeconds = lens _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds (\s a -> s { _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds = a })