stratosphere-0.2.0: library-gen/Stratosphere/ResourceProperties/KinesisFirehoseElasticsearchRetryOptions.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
-- | RetryOptions is a property of the Amazon Kinesis Firehose DeliveryStream
-- ElasticsearchDestinationConfiguration property that configures the retry
-- behavior when Amazon Kinesis Firehose (Firehose) can't deliver data to
-- Amazon Elasticsearch Service (Amazon ES).
module Stratosphere.ResourceProperties.KinesisFirehoseElasticsearchRetryOptions where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
-- | Full data type definition for KinesisFirehoseElasticsearchRetryOptions.
-- See 'kinesisFirehoseElasticsearchRetryOptions' for a more convenient
-- constructor.
data KinesisFirehoseElasticsearchRetryOptions =
KinesisFirehoseElasticsearchRetryOptions
{ _kinesisFirehoseElasticsearchRetryOptionsDurationInSeconds :: Val Integer'
} deriving (Show, Generic)
instance ToJSON KinesisFirehoseElasticsearchRetryOptions where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
instance FromJSON KinesisFirehoseElasticsearchRetryOptions where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 41, omitNothingFields = True }
-- | Constructor for 'KinesisFirehoseElasticsearchRetryOptions' containing
-- required fields as arguments.
kinesisFirehoseElasticsearchRetryOptions
:: Val Integer' -- ^ 'kferoDurationInSeconds'
-> KinesisFirehoseElasticsearchRetryOptions
kinesisFirehoseElasticsearchRetryOptions durationInSecondsarg =
KinesisFirehoseElasticsearchRetryOptions
{ _kinesisFirehoseElasticsearchRetryOptionsDurationInSeconds = durationInSecondsarg
}
-- | After an initial failure to deliver to Amazon ES, the total amount of
-- time during which Firehose re-attempts delivery (including the first
-- attempt). If Firehose can't deliver the data within the specified time, it
-- writes the data to the backup S3 bucket. For valid values, see the
-- DurationInSeconds content for the ElasticsearchRetryOptions data type in
-- the Amazon Kinesis Firehose API Reference.
kferoDurationInSeconds :: Lens' KinesisFirehoseElasticsearchRetryOptions (Val Integer')
kferoDurationInSeconds = lens _kinesisFirehoseElasticsearchRetryOptionsDurationInSeconds (\s a -> s { _kinesisFirehoseElasticsearchRetryOptionsDurationInSeconds = a })