stratosphere-0.4.1: library-gen/Stratosphere/ResourceProperties/KinesisFirehoseDeliveryStreamElasticsearchRetryOptions.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions.html
module Stratosphere.ResourceProperties.KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
import Control.Lens hiding ((.=))
import Data.Aeson
import Data.Maybe (catMaybes)
import Data.Monoid (mempty)
import Data.Text
import Stratosphere.Values
-- | 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" .= _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds)
]
instance FromJSON KinesisFirehoseDeliveryStreamElasticsearchRetryOptions where
parseJSON (Object obj) =
KinesisFirehoseDeliveryStreamElasticsearchRetryOptions <$>
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-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions-durationinseconds
kfdseroDurationInSeconds :: Lens' KinesisFirehoseDeliveryStreamElasticsearchRetryOptions (Val Integer')
kfdseroDurationInSeconds = lens _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds (\s a -> s { _kinesisFirehoseDeliveryStreamElasticsearchRetryOptionsDurationInSeconds = a })