module Stratosphere.ResourceProperties.KinesisFirehoseS3DestinationConfiguration where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.KinesisFirehoseBufferingHints
import Stratosphere.ResourceProperties.KinesisFirehoseCloudWatchLoggingOptions
import Stratosphere.ResourceProperties.KinesisFirehoseS3EncryptionConfiguration
import Stratosphere.Types
data KinesisFirehoseS3DestinationConfiguration =
KinesisFirehoseS3DestinationConfiguration
{ _kinesisFirehoseS3DestinationConfigurationBucketARN :: Val Text
, _kinesisFirehoseS3DestinationConfigurationBufferingHints :: KinesisFirehoseBufferingHints
, _kinesisFirehoseS3DestinationConfigurationCloudWatchLoggingOptions :: Maybe KinesisFirehoseCloudWatchLoggingOptions
, _kinesisFirehoseS3DestinationConfigurationCompressionFormat :: KinesisFirehoseS3CompressionFormat
, _kinesisFirehoseS3DestinationConfigurationEncryptionConfiguration :: Maybe KinesisFirehoseS3EncryptionConfiguration
, _kinesisFirehoseS3DestinationConfigurationPrefix :: Val Text
, _kinesisFirehoseS3DestinationConfigurationRoleARN :: Val Text
} deriving (Show, Generic)
instance ToJSON KinesisFirehoseS3DestinationConfiguration where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
instance FromJSON KinesisFirehoseS3DestinationConfiguration where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 42, omitNothingFields = True }
kinesisFirehoseS3DestinationConfiguration
:: Val Text
-> KinesisFirehoseBufferingHints
-> KinesisFirehoseS3CompressionFormat
-> Val Text
-> Val Text
-> KinesisFirehoseS3DestinationConfiguration
kinesisFirehoseS3DestinationConfiguration bucketARNarg bufferingHintsarg compressionFormatarg prefixarg roleARNarg =
KinesisFirehoseS3DestinationConfiguration
{ _kinesisFirehoseS3DestinationConfigurationBucketARN = bucketARNarg
, _kinesisFirehoseS3DestinationConfigurationBufferingHints = bufferingHintsarg
, _kinesisFirehoseS3DestinationConfigurationCloudWatchLoggingOptions = Nothing
, _kinesisFirehoseS3DestinationConfigurationCompressionFormat = compressionFormatarg
, _kinesisFirehoseS3DestinationConfigurationEncryptionConfiguration = Nothing
, _kinesisFirehoseS3DestinationConfigurationPrefix = prefixarg
, _kinesisFirehoseS3DestinationConfigurationRoleARN = roleARNarg
}
kfsdcBucketARN :: Lens' KinesisFirehoseS3DestinationConfiguration (Val Text)
kfsdcBucketARN = lens _kinesisFirehoseS3DestinationConfigurationBucketARN (\s a -> s { _kinesisFirehoseS3DestinationConfigurationBucketARN = a })
kfsdcBufferingHints :: Lens' KinesisFirehoseS3DestinationConfiguration KinesisFirehoseBufferingHints
kfsdcBufferingHints = lens _kinesisFirehoseS3DestinationConfigurationBufferingHints (\s a -> s { _kinesisFirehoseS3DestinationConfigurationBufferingHints = a })
kfsdcCloudWatchLoggingOptions :: Lens' KinesisFirehoseS3DestinationConfiguration (Maybe KinesisFirehoseCloudWatchLoggingOptions)
kfsdcCloudWatchLoggingOptions = lens _kinesisFirehoseS3DestinationConfigurationCloudWatchLoggingOptions (\s a -> s { _kinesisFirehoseS3DestinationConfigurationCloudWatchLoggingOptions = a })
kfsdcCompressionFormat :: Lens' KinesisFirehoseS3DestinationConfiguration KinesisFirehoseS3CompressionFormat
kfsdcCompressionFormat = lens _kinesisFirehoseS3DestinationConfigurationCompressionFormat (\s a -> s { _kinesisFirehoseS3DestinationConfigurationCompressionFormat = a })
kfsdcEncryptionConfiguration :: Lens' KinesisFirehoseS3DestinationConfiguration (Maybe KinesisFirehoseS3EncryptionConfiguration)
kfsdcEncryptionConfiguration = lens _kinesisFirehoseS3DestinationConfigurationEncryptionConfiguration (\s a -> s { _kinesisFirehoseS3DestinationConfigurationEncryptionConfiguration = a })
kfsdcPrefix :: Lens' KinesisFirehoseS3DestinationConfiguration (Val Text)
kfsdcPrefix = lens _kinesisFirehoseS3DestinationConfigurationPrefix (\s a -> s { _kinesisFirehoseS3DestinationConfigurationPrefix = a })
kfsdcRoleARN :: Lens' KinesisFirehoseS3DestinationConfiguration (Val Text)
kfsdcRoleARN = lens _kinesisFirehoseS3DestinationConfigurationRoleARN (\s a -> s { _kinesisFirehoseS3DestinationConfigurationRoleARN = a })