amazonka-kinesis-firehose 1.4.5 → 1.5.0
raw patch · 19 files changed
+3505/−1992 lines, 19 filesdep ~amazonka-coredep ~amazonka-kinesis-firehosedep ~amazonka-testPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core, amazonka-kinesis-firehose, amazonka-test
API changes (from Hackage documentation)
- Network.AWS.Firehose.CreateDeliveryStream: instance GHC.Read.Read Network.AWS.Firehose.CreateDeliveryStream.CreateDeliveryStream
- Network.AWS.Firehose.DescribeDeliveryStream: instance GHC.Read.Read Network.AWS.Firehose.DescribeDeliveryStream.DescribeDeliveryStreamResponse
- Network.AWS.Firehose.UpdateDestination: instance GHC.Read.Read Network.AWS.Firehose.UpdateDestination.UpdateDestination
+ Network.AWS.Firehose: DirectPut :: DeliveryStreamType
+ Network.AWS.Firehose: Disabled :: RedshiftS3BackupMode
+ Network.AWS.Firehose: Enabled :: RedshiftS3BackupMode
+ Network.AWS.Firehose: KinesisStreamAsSource :: DeliveryStreamType
+ Network.AWS.Firehose: Lambda :: ProcessorType
+ Network.AWS.Firehose: LambdaARN :: ProcessorParameterName
+ Network.AWS.Firehose: NumberOfRetries :: ProcessorParameterName
+ Network.AWS.Firehose: SBMDisabled :: S3BackupMode
+ Network.AWS.Firehose: SBMEnabled :: S3BackupMode
+ Network.AWS.Firehose: _InvalidStreamTypeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Firehose: data DeliveryStreamType
+ Network.AWS.Firehose: data ExtendedS3DestinationConfiguration
+ Network.AWS.Firehose: data ExtendedS3DestinationDescription
+ Network.AWS.Firehose: data ExtendedS3DestinationUpdate
+ Network.AWS.Firehose: data KinesisStreamSourceConfiguration
+ Network.AWS.Firehose: data KinesisStreamSourceDescription
+ Network.AWS.Firehose: data ProcessingConfiguration
+ Network.AWS.Firehose: data Processor
+ Network.AWS.Firehose: data ProcessorParameter
+ Network.AWS.Firehose: data ProcessorParameterName
+ Network.AWS.Firehose: data ProcessorType
+ Network.AWS.Firehose: data RedshiftS3BackupMode
+ Network.AWS.Firehose: data S3BackupMode
+ Network.AWS.Firehose: data SessionCredentials
+ Network.AWS.Firehose: data SourceDescription
+ Network.AWS.Firehose: ddExtendedS3DestinationDescription :: Lens' DestinationDescription (Maybe ExtendedS3DestinationDescription)
+ Network.AWS.Firehose: dsdDeliveryStreamType :: Lens' DeliveryStreamDescription DeliveryStreamType
+ Network.AWS.Firehose: dsdSource :: Lens' DeliveryStreamDescription (Maybe SourceDescription)
+ Network.AWS.Firehose: edcProcessingConfiguration :: Lens' ElasticsearchDestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: eddProcessingConfiguration :: Lens' ElasticsearchDestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: eduProcessingConfiguration :: Lens' ElasticsearchDestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: esdcBucketARN :: Lens' ExtendedS3DestinationConfiguration Text
+ Network.AWS.Firehose: esdcBufferingHints :: Lens' ExtendedS3DestinationConfiguration (Maybe BufferingHints)
+ Network.AWS.Firehose: esdcCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationConfiguration (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose: esdcCompressionFormat :: Lens' ExtendedS3DestinationConfiguration (Maybe CompressionFormat)
+ Network.AWS.Firehose: esdcEncryptionConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe EncryptionConfiguration)
+ Network.AWS.Firehose: esdcPrefix :: Lens' ExtendedS3DestinationConfiguration (Maybe Text)
+ Network.AWS.Firehose: esdcProcessingConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: esdcRoleARN :: Lens' ExtendedS3DestinationConfiguration Text
+ Network.AWS.Firehose: esdcS3BackupConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe S3DestinationConfiguration)
+ Network.AWS.Firehose: esdcS3BackupMode :: Lens' ExtendedS3DestinationConfiguration (Maybe S3BackupMode)
+ Network.AWS.Firehose: esddBucketARN :: Lens' ExtendedS3DestinationDescription Text
+ Network.AWS.Firehose: esddBufferingHints :: Lens' ExtendedS3DestinationDescription BufferingHints
+ Network.AWS.Firehose: esddCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationDescription (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose: esddCompressionFormat :: Lens' ExtendedS3DestinationDescription CompressionFormat
+ Network.AWS.Firehose: esddEncryptionConfiguration :: Lens' ExtendedS3DestinationDescription EncryptionConfiguration
+ Network.AWS.Firehose: esddPrefix :: Lens' ExtendedS3DestinationDescription (Maybe Text)
+ Network.AWS.Firehose: esddProcessingConfiguration :: Lens' ExtendedS3DestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: esddRoleARN :: Lens' ExtendedS3DestinationDescription Text
+ Network.AWS.Firehose: esddS3BackupDescription :: Lens' ExtendedS3DestinationDescription (Maybe S3DestinationDescription)
+ Network.AWS.Firehose: esddS3BackupMode :: Lens' ExtendedS3DestinationDescription (Maybe S3BackupMode)
+ Network.AWS.Firehose: esduBucketARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose: esduBufferingHints :: Lens' ExtendedS3DestinationUpdate (Maybe BufferingHints)
+ Network.AWS.Firehose: esduCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationUpdate (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose: esduCompressionFormat :: Lens' ExtendedS3DestinationUpdate (Maybe CompressionFormat)
+ Network.AWS.Firehose: esduEncryptionConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe EncryptionConfiguration)
+ Network.AWS.Firehose: esduPrefix :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose: esduProcessingConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: esduRoleARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose: esduS3BackupMode :: Lens' ExtendedS3DestinationUpdate (Maybe S3BackupMode)
+ Network.AWS.Firehose: esduS3BackupUpdate :: Lens' ExtendedS3DestinationUpdate (Maybe S3DestinationUpdate)
+ Network.AWS.Firehose: extendedS3DestinationConfiguration :: Text -> Text -> ExtendedS3DestinationConfiguration
+ Network.AWS.Firehose: extendedS3DestinationDescription :: Text -> Text -> BufferingHints -> CompressionFormat -> EncryptionConfiguration -> ExtendedS3DestinationDescription
+ Network.AWS.Firehose: extendedS3DestinationUpdate :: ExtendedS3DestinationUpdate
+ Network.AWS.Firehose: kinesisStreamSourceConfiguration :: Text -> Text -> KinesisStreamSourceConfiguration
+ Network.AWS.Firehose: kinesisStreamSourceDescription :: KinesisStreamSourceDescription
+ Network.AWS.Firehose: ksscKinesisStreamARN :: Lens' KinesisStreamSourceConfiguration Text
+ Network.AWS.Firehose: ksscRoleARN :: Lens' KinesisStreamSourceConfiguration Text
+ Network.AWS.Firehose: kssdDeliveryStartTimestamp :: Lens' KinesisStreamSourceDescription (Maybe UTCTime)
+ Network.AWS.Firehose: kssdKinesisStreamARN :: Lens' KinesisStreamSourceDescription (Maybe Text)
+ Network.AWS.Firehose: kssdRoleARN :: Lens' KinesisStreamSourceDescription (Maybe Text)
+ Network.AWS.Firehose: pParameters :: Lens' Processor [ProcessorParameter]
+ Network.AWS.Firehose: pType :: Lens' Processor ProcessorType
+ Network.AWS.Firehose: pcEnabled :: Lens' ProcessingConfiguration (Maybe Bool)
+ Network.AWS.Firehose: pcProcessors :: Lens' ProcessingConfiguration [Processor]
+ Network.AWS.Firehose: ppParameterName :: Lens' ProcessorParameter ProcessorParameterName
+ Network.AWS.Firehose: ppParameterValue :: Lens' ProcessorParameter Text
+ Network.AWS.Firehose: processingConfiguration :: ProcessingConfiguration
+ Network.AWS.Firehose: processor :: ProcessorType -> Processor
+ Network.AWS.Firehose: processorParameter :: ProcessorParameterName -> Text -> ProcessorParameter
+ Network.AWS.Firehose: rdcProcessingConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: rdcS3BackupConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe S3DestinationConfiguration)
+ Network.AWS.Firehose: rdcS3BackupMode :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose: rddProcessingConfiguration :: Lens' RedshiftDestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: rddS3BackupDescription :: Lens' RedshiftDestinationDescription (Maybe S3DestinationDescription)
+ Network.AWS.Firehose: rddS3BackupMode :: Lens' RedshiftDestinationDescription (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose: rduProcessingConfiguration :: Lens' RedshiftDestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose: rduS3BackupMode :: Lens' RedshiftDestinationUpdate (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose: rduS3BackupUpdate :: Lens' RedshiftDestinationUpdate (Maybe S3DestinationUpdate)
+ Network.AWS.Firehose: scAccessKeyId :: Lens' SessionCredentials Text
+ Network.AWS.Firehose: scExpiration :: Lens' SessionCredentials UTCTime
+ Network.AWS.Firehose: scSecretAccessKey :: Lens' SessionCredentials Text
+ Network.AWS.Firehose: scSessionToken :: Lens' SessionCredentials Text
+ Network.AWS.Firehose: sdKinesisStreamSourceDescription :: Lens' SourceDescription (Maybe KinesisStreamSourceDescription)
+ Network.AWS.Firehose: sessionCredentials :: Text -> Text -> Text -> UTCTime -> SessionCredentials
+ Network.AWS.Firehose: sourceDescription :: SourceDescription
+ Network.AWS.Firehose.CreateDeliveryStream: cdsDeliveryStreamType :: Lens' CreateDeliveryStream (Maybe DeliveryStreamType)
+ Network.AWS.Firehose.CreateDeliveryStream: cdsExtendedS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe ExtendedS3DestinationConfiguration)
+ Network.AWS.Firehose.CreateDeliveryStream: cdsKinesisStreamSourceConfiguration :: Lens' CreateDeliveryStream (Maybe KinesisStreamSourceConfiguration)
+ Network.AWS.Firehose.GetKinesisStream: data GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: data GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: getKinesisStream :: Text -> GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: getKinesisStreamResponse :: Int -> GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: gksDeliveryStreamARN :: Lens' GetKinesisStream Text
+ Network.AWS.Firehose.GetKinesisStream: gksrsCredentialsForReadingKinesisStream :: Lens' GetKinesisStreamResponse (Maybe SessionCredentials)
+ Network.AWS.Firehose.GetKinesisStream: gksrsKinesisStreamARN :: Lens' GetKinesisStreamResponse (Maybe Text)
+ Network.AWS.Firehose.GetKinesisStream: gksrsResponseStatus :: Lens' GetKinesisStreamResponse Int
+ Network.AWS.Firehose.GetKinesisStream: instance Control.DeepSeq.NFData Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Control.DeepSeq.NFData Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Data.Data.Data Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Data.Data.Data Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance Data.Hashable.Class.Hashable Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Classes.Eq Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Classes.Eq Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Generics.Generic Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Generics.Generic Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Read.Read Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Read.Read Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Show.Show Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance GHC.Show.Show Network.AWS.Firehose.GetKinesisStream.GetKinesisStreamResponse
+ Network.AWS.Firehose.GetKinesisStream: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Network.AWS.Data.Path.ToPath Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Network.AWS.Data.Query.ToQuery Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.GetKinesisStream: instance Network.AWS.Types.AWSRequest Network.AWS.Firehose.GetKinesisStream.GetKinesisStream
+ Network.AWS.Firehose.ListDeliveryStreams: ldsDeliveryStreamType :: Lens' ListDeliveryStreams (Maybe DeliveryStreamType)
+ Network.AWS.Firehose.Types: DirectPut :: DeliveryStreamType
+ Network.AWS.Firehose.Types: Disabled :: RedshiftS3BackupMode
+ Network.AWS.Firehose.Types: Enabled :: RedshiftS3BackupMode
+ Network.AWS.Firehose.Types: KinesisStreamAsSource :: DeliveryStreamType
+ Network.AWS.Firehose.Types: Lambda :: ProcessorType
+ Network.AWS.Firehose.Types: LambdaARN :: ProcessorParameterName
+ Network.AWS.Firehose.Types: NumberOfRetries :: ProcessorParameterName
+ Network.AWS.Firehose.Types: SBMDisabled :: S3BackupMode
+ Network.AWS.Firehose.Types: SBMEnabled :: S3BackupMode
+ Network.AWS.Firehose.Types: _InvalidStreamTypeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Firehose.Types: data DeliveryStreamType
+ Network.AWS.Firehose.Types: data ExtendedS3DestinationConfiguration
+ Network.AWS.Firehose.Types: data ExtendedS3DestinationDescription
+ Network.AWS.Firehose.Types: data ExtendedS3DestinationUpdate
+ Network.AWS.Firehose.Types: data KinesisStreamSourceConfiguration
+ Network.AWS.Firehose.Types: data KinesisStreamSourceDescription
+ Network.AWS.Firehose.Types: data ProcessingConfiguration
+ Network.AWS.Firehose.Types: data Processor
+ Network.AWS.Firehose.Types: data ProcessorParameter
+ Network.AWS.Firehose.Types: data ProcessorParameterName
+ Network.AWS.Firehose.Types: data ProcessorType
+ Network.AWS.Firehose.Types: data RedshiftS3BackupMode
+ Network.AWS.Firehose.Types: data S3BackupMode
+ Network.AWS.Firehose.Types: data SessionCredentials
+ Network.AWS.Firehose.Types: data SourceDescription
+ Network.AWS.Firehose.Types: ddExtendedS3DestinationDescription :: Lens' DestinationDescription (Maybe ExtendedS3DestinationDescription)
+ Network.AWS.Firehose.Types: dsdDeliveryStreamType :: Lens' DeliveryStreamDescription DeliveryStreamType
+ Network.AWS.Firehose.Types: dsdSource :: Lens' DeliveryStreamDescription (Maybe SourceDescription)
+ Network.AWS.Firehose.Types: edcProcessingConfiguration :: Lens' ElasticsearchDestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: eddProcessingConfiguration :: Lens' ElasticsearchDestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: eduProcessingConfiguration :: Lens' ElasticsearchDestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: esdcBucketARN :: Lens' ExtendedS3DestinationConfiguration Text
+ Network.AWS.Firehose.Types: esdcBufferingHints :: Lens' ExtendedS3DestinationConfiguration (Maybe BufferingHints)
+ Network.AWS.Firehose.Types: esdcCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationConfiguration (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose.Types: esdcCompressionFormat :: Lens' ExtendedS3DestinationConfiguration (Maybe CompressionFormat)
+ Network.AWS.Firehose.Types: esdcEncryptionConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe EncryptionConfiguration)
+ Network.AWS.Firehose.Types: esdcPrefix :: Lens' ExtendedS3DestinationConfiguration (Maybe Text)
+ Network.AWS.Firehose.Types: esdcProcessingConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: esdcRoleARN :: Lens' ExtendedS3DestinationConfiguration Text
+ Network.AWS.Firehose.Types: esdcS3BackupConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe S3DestinationConfiguration)
+ Network.AWS.Firehose.Types: esdcS3BackupMode :: Lens' ExtendedS3DestinationConfiguration (Maybe S3BackupMode)
+ Network.AWS.Firehose.Types: esddBucketARN :: Lens' ExtendedS3DestinationDescription Text
+ Network.AWS.Firehose.Types: esddBufferingHints :: Lens' ExtendedS3DestinationDescription BufferingHints
+ Network.AWS.Firehose.Types: esddCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationDescription (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose.Types: esddCompressionFormat :: Lens' ExtendedS3DestinationDescription CompressionFormat
+ Network.AWS.Firehose.Types: esddEncryptionConfiguration :: Lens' ExtendedS3DestinationDescription EncryptionConfiguration
+ Network.AWS.Firehose.Types: esddPrefix :: Lens' ExtendedS3DestinationDescription (Maybe Text)
+ Network.AWS.Firehose.Types: esddProcessingConfiguration :: Lens' ExtendedS3DestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: esddRoleARN :: Lens' ExtendedS3DestinationDescription Text
+ Network.AWS.Firehose.Types: esddS3BackupDescription :: Lens' ExtendedS3DestinationDescription (Maybe S3DestinationDescription)
+ Network.AWS.Firehose.Types: esddS3BackupMode :: Lens' ExtendedS3DestinationDescription (Maybe S3BackupMode)
+ Network.AWS.Firehose.Types: esduBucketARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose.Types: esduBufferingHints :: Lens' ExtendedS3DestinationUpdate (Maybe BufferingHints)
+ Network.AWS.Firehose.Types: esduCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationUpdate (Maybe CloudWatchLoggingOptions)
+ Network.AWS.Firehose.Types: esduCompressionFormat :: Lens' ExtendedS3DestinationUpdate (Maybe CompressionFormat)
+ Network.AWS.Firehose.Types: esduEncryptionConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe EncryptionConfiguration)
+ Network.AWS.Firehose.Types: esduPrefix :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose.Types: esduProcessingConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: esduRoleARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)
+ Network.AWS.Firehose.Types: esduS3BackupMode :: Lens' ExtendedS3DestinationUpdate (Maybe S3BackupMode)
+ Network.AWS.Firehose.Types: esduS3BackupUpdate :: Lens' ExtendedS3DestinationUpdate (Maybe S3DestinationUpdate)
+ Network.AWS.Firehose.Types: extendedS3DestinationConfiguration :: Text -> Text -> ExtendedS3DestinationConfiguration
+ Network.AWS.Firehose.Types: extendedS3DestinationDescription :: Text -> Text -> BufferingHints -> CompressionFormat -> EncryptionConfiguration -> ExtendedS3DestinationDescription
+ Network.AWS.Firehose.Types: extendedS3DestinationUpdate :: ExtendedS3DestinationUpdate
+ Network.AWS.Firehose.Types: kinesisStreamSourceConfiguration :: Text -> Text -> KinesisStreamSourceConfiguration
+ Network.AWS.Firehose.Types: kinesisStreamSourceDescription :: KinesisStreamSourceDescription
+ Network.AWS.Firehose.Types: ksscKinesisStreamARN :: Lens' KinesisStreamSourceConfiguration Text
+ Network.AWS.Firehose.Types: ksscRoleARN :: Lens' KinesisStreamSourceConfiguration Text
+ Network.AWS.Firehose.Types: kssdDeliveryStartTimestamp :: Lens' KinesisStreamSourceDescription (Maybe UTCTime)
+ Network.AWS.Firehose.Types: kssdKinesisStreamARN :: Lens' KinesisStreamSourceDescription (Maybe Text)
+ Network.AWS.Firehose.Types: kssdRoleARN :: Lens' KinesisStreamSourceDescription (Maybe Text)
+ Network.AWS.Firehose.Types: pParameters :: Lens' Processor [ProcessorParameter]
+ Network.AWS.Firehose.Types: pType :: Lens' Processor ProcessorType
+ Network.AWS.Firehose.Types: pcEnabled :: Lens' ProcessingConfiguration (Maybe Bool)
+ Network.AWS.Firehose.Types: pcProcessors :: Lens' ProcessingConfiguration [Processor]
+ Network.AWS.Firehose.Types: ppParameterName :: Lens' ProcessorParameter ProcessorParameterName
+ Network.AWS.Firehose.Types: ppParameterValue :: Lens' ProcessorParameter Text
+ Network.AWS.Firehose.Types: processingConfiguration :: ProcessingConfiguration
+ Network.AWS.Firehose.Types: processor :: ProcessorType -> Processor
+ Network.AWS.Firehose.Types: processorParameter :: ProcessorParameterName -> Text -> ProcessorParameter
+ Network.AWS.Firehose.Types: rdcProcessingConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: rdcS3BackupConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe S3DestinationConfiguration)
+ Network.AWS.Firehose.Types: rdcS3BackupMode :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose.Types: rddProcessingConfiguration :: Lens' RedshiftDestinationDescription (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: rddS3BackupDescription :: Lens' RedshiftDestinationDescription (Maybe S3DestinationDescription)
+ Network.AWS.Firehose.Types: rddS3BackupMode :: Lens' RedshiftDestinationDescription (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose.Types: rduProcessingConfiguration :: Lens' RedshiftDestinationUpdate (Maybe ProcessingConfiguration)
+ Network.AWS.Firehose.Types: rduS3BackupMode :: Lens' RedshiftDestinationUpdate (Maybe RedshiftS3BackupMode)
+ Network.AWS.Firehose.Types: rduS3BackupUpdate :: Lens' RedshiftDestinationUpdate (Maybe S3DestinationUpdate)
+ Network.AWS.Firehose.Types: scAccessKeyId :: Lens' SessionCredentials Text
+ Network.AWS.Firehose.Types: scExpiration :: Lens' SessionCredentials UTCTime
+ Network.AWS.Firehose.Types: scSecretAccessKey :: Lens' SessionCredentials Text
+ Network.AWS.Firehose.Types: scSessionToken :: Lens' SessionCredentials Text
+ Network.AWS.Firehose.Types: sdKinesisStreamSourceDescription :: Lens' SourceDescription (Maybe KinesisStreamSourceDescription)
+ Network.AWS.Firehose.Types: sessionCredentials :: Text -> Text -> Text -> UTCTime -> SessionCredentials
+ Network.AWS.Firehose.Types: sourceDescription :: SourceDescription
+ Network.AWS.Firehose.UpdateDestination: udExtendedS3DestinationUpdate :: Lens' UpdateDestination (Maybe ExtendedS3DestinationUpdate)
- Network.AWS.Firehose: deliveryStreamDescription :: Text -> Text -> DeliveryStreamStatus -> Text -> Bool -> DeliveryStreamDescription
+ Network.AWS.Firehose: deliveryStreamDescription :: Text -> Text -> DeliveryStreamStatus -> DeliveryStreamType -> Text -> Bool -> DeliveryStreamDescription
- Network.AWS.Firehose.Types: deliveryStreamDescription :: Text -> Text -> DeliveryStreamStatus -> Text -> Bool -> DeliveryStreamDescription
+ Network.AWS.Firehose.Types: deliveryStreamDescription :: Text -> Text -> DeliveryStreamStatus -> DeliveryStreamType -> Text -> Bool -> DeliveryStreamDescription
Files
- README.md +1/−1
- amazonka-kinesis-firehose.cabal +17/−11
- fixture/GetKinesisStream.yaml +10/−0
- fixture/GetKinesisStreamResponse.proto +0/−0
- gen/Network/AWS/Firehose.hs +135/−12
- gen/Network/AWS/Firehose/CreateDeliveryStream.hs +82/−56
- gen/Network/AWS/Firehose/DeleteDeliveryStream.hs +23/−31
- gen/Network/AWS/Firehose/DescribeDeliveryStream.hs +35/−39
- gen/Network/AWS/Firehose/GetKinesisStream.hs +145/−0
- gen/Network/AWS/Firehose/ListDeliveryStreams.hs +43/−37
- gen/Network/AWS/Firehose/PutRecord.hs +30/−38
- gen/Network/AWS/Firehose/PutRecordBatch.hs +47/−49
- gen/Network/AWS/Firehose/Types.hs +165/−32
- gen/Network/AWS/Firehose/Types/Product.hs +2510/−1601
- gen/Network/AWS/Firehose/Types/Sum.hs +175/−23
- gen/Network/AWS/Firehose/UpdateDestination.hs +57/−50
- gen/Network/AWS/Firehose/Waiters.hs +6/−6
- test/Main.hs +2/−2
- test/Test/AWS/Gen/Firehose.hs +22/−4
README.md view
@@ -8,7 +8,7 @@ ## Version -`1.4.5`+`1.5.0` ## Description
amazonka-kinesis-firehose.cabal view
@@ -1,13 +1,13 @@ name: amazonka-kinesis-firehose-version: 1.4.5+version: 1.5.0 synopsis: Amazon Kinesis Firehose SDK. homepage: https://github.com/brendanhay/amazonka bug-reports: https://github.com/brendanhay/amazonka/issues-license: OtherLicense+license: MPL-2.0 license-file: LICENSE author: Brendan Hay-maintainer: Brendan Hay <brendan.g.hay@gmail.com>-copyright: Copyright (c) 2013-2016 Brendan Hay+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright: Copyright (c) 2013-2017 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple cabal-version: >= 1.10@@ -29,20 +29,26 @@ to get started. source-repository head- type: git- location: git://github.com/brendanhay/amazonka.git+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-kinesis-firehose library default-language: Haskell2010 hs-source-dirs: src gen - ghc-options: -Wall+ ghc-options:+ -Wall+ -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates+ -funbox-strict-fields exposed-modules: Network.AWS.Firehose , Network.AWS.Firehose.CreateDeliveryStream , Network.AWS.Firehose.DeleteDeliveryStream , Network.AWS.Firehose.DescribeDeliveryStream+ , Network.AWS.Firehose.GetKinesisStream , Network.AWS.Firehose.ListDeliveryStreams , Network.AWS.Firehose.PutRecord , Network.AWS.Firehose.PutRecordBatch@@ -55,7 +61,7 @@ , Network.AWS.Firehose.Types.Sum build-depends:- amazonka-core == 1.4.5.*+ amazonka-core == 1.5.0.* , base >= 4.7 && < 5 test-suite amazonka-kinesis-firehose-test@@ -75,9 +81,9 @@ , Test.AWS.Firehose.Internal build-depends:- amazonka-core == 1.4.5.*- , amazonka-test == 1.4.5.*- , amazonka-kinesis-firehose == 1.4.5.*+ amazonka-core == 1.5.0.*+ , amazonka-test == 1.5.0.*+ , amazonka-kinesis-firehose , base , bytestring , tasty
+ fixture/GetKinesisStream.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/firehose/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: firehose.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetKinesisStreamResponse.proto view
gen/Network/AWS/Firehose.hs view
@@ -5,15 +5,15 @@ -- | -- Module : Network.AWS.Firehose--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- __Amazon Kinesis Firehose API Reference__ ----- Amazon Kinesis Firehose is a fully-managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift.+-- Amazon Kinesis Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift. -- module Network.AWS.Firehose (@@ -23,6 +23,9 @@ -- * Errors -- $errors + -- ** InvalidStreamTypeException+ , _InvalidStreamTypeException+ -- ** InvalidArgumentException , _InvalidArgumentException @@ -50,6 +53,9 @@ -- ** PutRecord , module Network.AWS.Firehose.PutRecord + -- ** GetKinesisStream+ , module Network.AWS.Firehose.GetKinesisStream+ -- ** UpdateDestination , module Network.AWS.Firehose.UpdateDestination @@ -76,6 +82,9 @@ -- ** DeliveryStreamStatus , DeliveryStreamStatus (..) + -- ** DeliveryStreamType+ , DeliveryStreamType (..)+ -- ** ElasticsearchIndexRotationPeriod , ElasticsearchIndexRotationPeriod (..) @@ -85,6 +94,18 @@ -- ** NoEncryptionConfig , NoEncryptionConfig (..) + -- ** ProcessorParameterName+ , ProcessorParameterName (..)++ -- ** ProcessorType+ , ProcessorType (..)++ -- ** RedshiftS3BackupMode+ , RedshiftS3BackupMode (..)++ -- ** S3BackupMode+ , S3BackupMode (..)+ -- ** BufferingHints , BufferingHints , bufferingHints@@ -109,10 +130,12 @@ , DeliveryStreamDescription , deliveryStreamDescription , dsdCreateTimestamp+ , dsdSource , dsdLastUpdateTimestamp , dsdDeliveryStreamName , dsdDeliveryStreamARN , dsdDeliveryStreamStatus+ , dsdDeliveryStreamType , dsdVersionId , dsdDestinations , dsdHasMoreDestinations@@ -121,6 +144,7 @@ , DestinationDescription , destinationDescription , ddS3DestinationDescription+ , ddExtendedS3DestinationDescription , ddElasticsearchDestinationDescription , ddRedshiftDestinationDescription , ddDestinationId@@ -139,6 +163,7 @@ , edcCloudWatchLoggingOptions , edcBufferingHints , edcRetryOptions+ , edcProcessingConfiguration , edcRoleARN , edcDomainARN , edcIndexName@@ -156,6 +181,7 @@ , eddS3DestinationDescription , eddBufferingHints , eddRetryOptions+ , eddProcessingConfiguration , eddRoleARN , eddIndexName @@ -169,6 +195,7 @@ , eduS3Update , eduBufferingHints , eduRetryOptions+ , eduProcessingConfiguration , eduRoleARN , eduIndexName @@ -183,11 +210,84 @@ , ecNoEncryptionConfig , ecKMSEncryptionConfig + -- ** ExtendedS3DestinationConfiguration+ , ExtendedS3DestinationConfiguration+ , extendedS3DestinationConfiguration+ , esdcS3BackupMode+ , esdcPrefix+ , esdcCloudWatchLoggingOptions+ , esdcS3BackupConfiguration+ , esdcEncryptionConfiguration+ , esdcCompressionFormat+ , esdcBufferingHints+ , esdcProcessingConfiguration+ , esdcRoleARN+ , esdcBucketARN++ -- ** ExtendedS3DestinationDescription+ , ExtendedS3DestinationDescription+ , extendedS3DestinationDescription+ , esddS3BackupMode+ , esddS3BackupDescription+ , esddPrefix+ , esddCloudWatchLoggingOptions+ , esddProcessingConfiguration+ , esddRoleARN+ , esddBucketARN+ , esddBufferingHints+ , esddCompressionFormat+ , esddEncryptionConfiguration++ -- ** ExtendedS3DestinationUpdate+ , ExtendedS3DestinationUpdate+ , extendedS3DestinationUpdate+ , esduS3BackupMode+ , esduPrefix+ , esduCloudWatchLoggingOptions+ , esduS3BackupUpdate+ , esduEncryptionConfiguration+ , esduCompressionFormat+ , esduBufferingHints+ , esduBucketARN+ , esduProcessingConfiguration+ , esduRoleARN+ -- ** KMSEncryptionConfig , KMSEncryptionConfig , kmsEncryptionConfig , kecAWSKMSKeyARN + -- ** KinesisStreamSourceConfiguration+ , KinesisStreamSourceConfiguration+ , kinesisStreamSourceConfiguration+ , ksscKinesisStreamARN+ , ksscRoleARN++ -- ** KinesisStreamSourceDescription+ , KinesisStreamSourceDescription+ , kinesisStreamSourceDescription+ , kssdDeliveryStartTimestamp+ , kssdKinesisStreamARN+ , kssdRoleARN++ -- ** ProcessingConfiguration+ , ProcessingConfiguration+ , processingConfiguration+ , pcEnabled+ , pcProcessors++ -- ** Processor+ , Processor+ , processor+ , pParameters+ , pType++ -- ** ProcessorParameter+ , ProcessorParameter+ , processorParameter+ , ppParameterName+ , ppParameterValue+ -- ** PutRecordBatchResponseEntry , PutRecordBatchResponseEntry , putRecordBatchResponseEntry@@ -203,8 +303,11 @@ -- ** RedshiftDestinationConfiguration , RedshiftDestinationConfiguration , redshiftDestinationConfiguration+ , rdcS3BackupMode , rdcCloudWatchLoggingOptions+ , rdcS3BackupConfiguration , rdcRetryOptions+ , rdcProcessingConfiguration , rdcRoleARN , rdcClusterJDBCURL , rdcCopyCommand@@ -215,8 +318,11 @@ -- ** RedshiftDestinationDescription , RedshiftDestinationDescription , redshiftDestinationDescription+ , rddS3BackupMode+ , rddS3BackupDescription , rddCloudWatchLoggingOptions , rddRetryOptions+ , rddProcessingConfiguration , rddRoleARN , rddClusterJDBCURL , rddCopyCommand@@ -226,12 +332,15 @@ -- ** RedshiftDestinationUpdate , RedshiftDestinationUpdate , redshiftDestinationUpdate+ , rduS3BackupMode , rduCloudWatchLoggingOptions , rduUsername , rduS3Update , rduPassword+ , rduS3BackupUpdate , rduCopyCommand , rduRetryOptions+ , rduProcessingConfiguration , rduClusterJDBCURL , rduRoleARN @@ -272,17 +381,31 @@ , sduBufferingHints , sduBucketARN , sduRoleARN++ -- ** SessionCredentials+ , SessionCredentials+ , sessionCredentials+ , scAccessKeyId+ , scSecretAccessKey+ , scSessionToken+ , scExpiration++ -- ** SourceDescription+ , SourceDescription+ , sourceDescription+ , sdKinesisStreamSourceDescription ) where -import Network.AWS.Firehose.CreateDeliveryStream-import Network.AWS.Firehose.DeleteDeliveryStream-import Network.AWS.Firehose.DescribeDeliveryStream-import Network.AWS.Firehose.ListDeliveryStreams-import Network.AWS.Firehose.PutRecord-import Network.AWS.Firehose.PutRecordBatch-import Network.AWS.Firehose.Types-import Network.AWS.Firehose.UpdateDestination-import Network.AWS.Firehose.Waiters+import Network.AWS.Firehose.CreateDeliveryStream+import Network.AWS.Firehose.DeleteDeliveryStream+import Network.AWS.Firehose.DescribeDeliveryStream+import Network.AWS.Firehose.GetKinesisStream+import Network.AWS.Firehose.ListDeliveryStreams+import Network.AWS.Firehose.PutRecord+import Network.AWS.Firehose.PutRecordBatch+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.UpdateDestination+import Network.AWS.Firehose.Waiters {- $errors Error matchers are designed for use with the functions provided by
gen/Network/AWS/Firehose/CreateDeliveryStream.hs view
@@ -12,36 +12,36 @@ -- | -- Module : Network.AWS.Firehose.CreateDeliveryStream--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Creates a delivery stream. -- ----- 'CreateDeliveryStream' is an asynchronous operation that immediately returns. The initial status of the delivery stream is @CREATING@ . After the delivery stream is created, its status is @ACTIVE@ and it now accepts data. Attempts to send data to a delivery stream that is not in the @ACTIVE@ state cause an exception. To check the state of a delivery stream, use 'DescribeDeliveryStream' .+-- By default, you can create up to 20 delivery streams per region. ----- The name of a delivery stream identifies it. You can't have two delivery streams with the same name in the same region. Two delivery streams in different AWS accounts or different regions in the same AWS account can have the same name.+-- This is an asynchronous operation that immediately returns. The initial status of the delivery stream is @CREATING@ . After the delivery stream is created, its status is @ACTIVE@ and it now accepts data. Attempts to send data to a delivery stream that is not in the @ACTIVE@ state cause an exception. To check the state of a delivery stream, use 'DescribeDeliveryStream' . ----- By default, you can create up to 20 delivery streams per region.+-- A Kinesis Firehose delivery stream can be configured to receive records directly from providers using 'PutRecord' or 'PutRecordBatch' , or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis stream as input, set the @DeliveryStreamType@ parameter to @KinesisStreamAsSource@ , and provide the Kinesis stream ARN and role ARN in the @KinesisStreamSourceConfiguration@ parameter. ----- A delivery stream can only be configured with a single destination, Amazon S3, Amazon Elasticsearch Service, or Amazon Redshift. For correct 'CreateDeliveryStream' request syntax, specify only one destination configuration parameter: either __S3DestinationConfiguration__ , __ElasticsearchDestinationConfiguration__ , or __RedshiftDestinationConfiguration__ .+-- A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: __ExtendedS3DestinationConfiguration__ , __S3DestinationConfiguration__ , __ElasticsearchDestinationConfiguration__ , or __RedshiftDestinationConfiguration__ . ----- As part of __S3DestinationConfiguration__ , optional values __BufferingHints__ , __EncryptionConfiguration__ , and __CompressionFormat__ can be provided. By default, if no __BufferingHints__ value is provided, Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that __BufferingHints__ is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.+-- When you specify __S3DestinationConfiguration__ , you can also provide the following optional values: __BufferingHints__ , __EncryptionConfiguration__ , and __CompressionFormat__ . By default, if no __BufferingHints__ value is provided, Kinesis Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that __BufferingHints__ is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3. ----- A few notes about __RedshiftDestinationConfiguration__ :+-- A few notes about Amazon Redshift as a destination: ----- * An Amazon Redshift destination requires an S3 bucket as intermediate location, as Firehose first delivers data to S3 and then uses @COPY@ syntax to load data into an Amazon Redshift table. This is specified in the __RedshiftDestinationConfiguration.S3Configuration__ parameter element.+-- * An Amazon Redshift destination requires an S3 bucket as intermediate location, as Kinesis Firehose first delivers data to S3 and then uses @COPY@ syntax to load data into an Amazon Redshift table. This is specified in the __RedshiftDestinationConfiguration.S3Configuration__ parameter. -- -- * The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationConfiguration.S3Configuration__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats. ----- * We strongly recommend that the username and password provided is used exclusively for Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift @INSERT@ permissions.+-- * We strongly recommend that you use the user name and password you provide exclusively with Kinesis Firehose, and that the permissions for the account are restricted for Amazon Redshift @INSERT@ permissions. -- -- ----- Firehose assumes the IAM role that is configured as part of destinations. The IAM role should allow the Firehose principal to assume the role, and the role should have permissions that allows the service to deliver the data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> in the /Amazon Kinesis Firehose Developer Guide/ .+-- Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> in the /Amazon Kinesis Firehose Developer Guide/ . -- module Network.AWS.Firehose.CreateDeliveryStream (@@ -52,6 +52,9 @@ , cdsS3DestinationConfiguration , cdsRedshiftDestinationConfiguration , cdsElasticsearchDestinationConfiguration+ , cdsExtendedS3DestinationConfiguration+ , cdsKinesisStreamSourceConfiguration+ , cdsDeliveryStreamType , cdsDeliveryStreamName -- * Destructuring the Response@@ -62,60 +65,82 @@ , cdsrsResponseStatus ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'CreateDeliveryStream' .------------ /See:/ 'createDeliveryStream' smart constructor.+-- | /See:/ 'createDeliveryStream' smart constructor. data CreateDeliveryStream = CreateDeliveryStream'- { _cdsS3DestinationConfiguration :: !(Maybe S3DestinationConfiguration)- , _cdsRedshiftDestinationConfiguration :: !(Maybe RedshiftDestinationConfiguration)- , _cdsElasticsearchDestinationConfiguration :: !(Maybe ElasticsearchDestinationConfiguration)- , _cdsDeliveryStreamName :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _cdsS3DestinationConfiguration :: !(Maybe S3DestinationConfiguration)+ , _cdsRedshiftDestinationConfiguration :: !(Maybe RedshiftDestinationConfiguration)+ , _cdsElasticsearchDestinationConfiguration :: !(Maybe ElasticsearchDestinationConfiguration)+ , _cdsExtendedS3DestinationConfiguration :: !(Maybe ExtendedS3DestinationConfiguration)+ , _cdsKinesisStreamSourceConfiguration :: !(Maybe KinesisStreamSourceConfiguration)+ , _cdsDeliveryStreamType :: !(Maybe DeliveryStreamType)+ , _cdsDeliveryStreamName :: !Text+ } deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDeliveryStream' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cdsS3DestinationConfiguration' - The destination in Amazon S3. This value must be specified if __ElasticsearchDestinationConfiguration__ or __RedshiftDestinationConfiguration__ is specified (see restrictions listed above).+-- * 'cdsS3DestinationConfiguration' - [Deprecated] The destination in Amazon S3. You can specify only one destination. ----- * 'cdsRedshiftDestinationConfiguration' - The destination in Amazon Redshift. This value cannot be specified if Amazon S3 or Amazon Elasticsearch is the desired destination (see restrictions listed above).+-- * 'cdsRedshiftDestinationConfiguration' - The destination in Amazon Redshift. You can specify only one destination. ----- * 'cdsElasticsearchDestinationConfiguration' - The destination in Amazon ES. This value cannot be specified if Amazon S3 or Amazon Redshift is the desired destination (see restrictions listed above).+-- * 'cdsElasticsearchDestinationConfiguration' - The destination in Amazon ES. You can specify only one destination. ----- * 'cdsDeliveryStreamName' - The name of the delivery stream.+-- * 'cdsExtendedS3DestinationConfiguration' - The destination in Amazon S3. You can specify only one destination.+--+-- * 'cdsKinesisStreamSourceConfiguration' - When a Kinesis stream is used as the source for the delivery stream, a 'KinesisStreamSourceConfiguration' containing the Kinesis stream ARN and the role ARN for the source stream.+--+-- * 'cdsDeliveryStreamType' - The delivery stream type. This parameter can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source.+--+-- * 'cdsDeliveryStreamName' - The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name. createDeliveryStream :: Text -- ^ 'cdsDeliveryStreamName' -> CreateDeliveryStream createDeliveryStream pDeliveryStreamName_ =- CreateDeliveryStream'- { _cdsS3DestinationConfiguration = Nothing- , _cdsRedshiftDestinationConfiguration = Nothing- , _cdsElasticsearchDestinationConfiguration = Nothing- , _cdsDeliveryStreamName = pDeliveryStreamName_- }+ CreateDeliveryStream'+ { _cdsS3DestinationConfiguration = Nothing+ , _cdsRedshiftDestinationConfiguration = Nothing+ , _cdsElasticsearchDestinationConfiguration = Nothing+ , _cdsExtendedS3DestinationConfiguration = Nothing+ , _cdsKinesisStreamSourceConfiguration = Nothing+ , _cdsDeliveryStreamType = Nothing+ , _cdsDeliveryStreamName = pDeliveryStreamName_+ } --- | The destination in Amazon S3. This value must be specified if __ElasticsearchDestinationConfiguration__ or __RedshiftDestinationConfiguration__ is specified (see restrictions listed above).++-- | [Deprecated] The destination in Amazon S3. You can specify only one destination. cdsS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe S3DestinationConfiguration) cdsS3DestinationConfiguration = lens _cdsS3DestinationConfiguration (\ s a -> s{_cdsS3DestinationConfiguration = a}); --- | The destination in Amazon Redshift. This value cannot be specified if Amazon S3 or Amazon Elasticsearch is the desired destination (see restrictions listed above).+-- | The destination in Amazon Redshift. You can specify only one destination. cdsRedshiftDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe RedshiftDestinationConfiguration) cdsRedshiftDestinationConfiguration = lens _cdsRedshiftDestinationConfiguration (\ s a -> s{_cdsRedshiftDestinationConfiguration = a}); --- | The destination in Amazon ES. This value cannot be specified if Amazon S3 or Amazon Redshift is the desired destination (see restrictions listed above).+-- | The destination in Amazon ES. You can specify only one destination. cdsElasticsearchDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe ElasticsearchDestinationConfiguration) cdsElasticsearchDestinationConfiguration = lens _cdsElasticsearchDestinationConfiguration (\ s a -> s{_cdsElasticsearchDestinationConfiguration = a}); --- | The name of the delivery stream.+-- | The destination in Amazon S3. You can specify only one destination.+cdsExtendedS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe ExtendedS3DestinationConfiguration)+cdsExtendedS3DestinationConfiguration = lens _cdsExtendedS3DestinationConfiguration (\ s a -> s{_cdsExtendedS3DestinationConfiguration = a});++-- | When a Kinesis stream is used as the source for the delivery stream, a 'KinesisStreamSourceConfiguration' containing the Kinesis stream ARN and the role ARN for the source stream.+cdsKinesisStreamSourceConfiguration :: Lens' CreateDeliveryStream (Maybe KinesisStreamSourceConfiguration)+cdsKinesisStreamSourceConfiguration = lens _cdsKinesisStreamSourceConfiguration (\ s a -> s{_cdsKinesisStreamSourceConfiguration = a});++-- | The delivery stream type. This parameter can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source.+cdsDeliveryStreamType :: Lens' CreateDeliveryStream (Maybe DeliveryStreamType)+cdsDeliveryStreamType = lens _cdsDeliveryStreamType (\ s a -> s{_cdsDeliveryStreamType = a});++-- | The name of the delivery stream. This name must be unique per AWS account in the same region. If the delivery streams are in different accounts or different regions, you can have multiple delivery streams with the same name. cdsDeliveryStreamName :: Lens' CreateDeliveryStream Text cdsDeliveryStreamName = lens _cdsDeliveryStreamName (\ s a -> s{_cdsDeliveryStreamName = a}); @@ -129,9 +154,9 @@ CreateDeliveryStreamResponse' <$> (x .?> "DeliveryStreamARN") <*> (pure (fromEnum s))) -instance Hashable CreateDeliveryStream+instance Hashable CreateDeliveryStream where -instance NFData CreateDeliveryStream+instance NFData CreateDeliveryStream where instance ToHeaders CreateDeliveryStream where toHeaders@@ -153,6 +178,11 @@ _cdsRedshiftDestinationConfiguration, ("ElasticsearchDestinationConfiguration" .=) <$> _cdsElasticsearchDestinationConfiguration,+ ("ExtendedS3DestinationConfiguration" .=) <$>+ _cdsExtendedS3DestinationConfiguration,+ ("KinesisStreamSourceConfiguration" .=) <$>+ _cdsKinesisStreamSourceConfiguration,+ ("DeliveryStreamType" .=) <$> _cdsDeliveryStreamType, Just ("DeliveryStreamName" .= _cdsDeliveryStreamName)]) @@ -162,16 +192,13 @@ instance ToQuery CreateDeliveryStream where toQuery = const mempty --- | Contains the output of 'CreateDeliveryStream' .------------ /See:/ 'createDeliveryStreamResponse' smart constructor.+-- | /See:/ 'createDeliveryStreamResponse' smart constructor. data CreateDeliveryStreamResponse = CreateDeliveryStreamResponse'- { _cdsrsDeliveryStreamARN :: !(Maybe Text)- , _cdsrsResponseStatus :: !Int- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _cdsrsDeliveryStreamARN :: !(Maybe Text)+ , _cdsrsResponseStatus :: !Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDeliveryStreamResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -183,11 +210,10 @@ :: Int -- ^ 'cdsrsResponseStatus' -> CreateDeliveryStreamResponse createDeliveryStreamResponse pResponseStatus_ =- CreateDeliveryStreamResponse'- { _cdsrsDeliveryStreamARN = Nothing- , _cdsrsResponseStatus = pResponseStatus_- }+ CreateDeliveryStreamResponse'+ {_cdsrsDeliveryStreamARN = Nothing, _cdsrsResponseStatus = pResponseStatus_} + -- | The ARN of the delivery stream. cdsrsDeliveryStreamARN :: Lens' CreateDeliveryStreamResponse (Maybe Text) cdsrsDeliveryStreamARN = lens _cdsrsDeliveryStreamARN (\ s a -> s{_cdsrsDeliveryStreamARN = a});@@ -196,4 +222,4 @@ cdsrsResponseStatus :: Lens' CreateDeliveryStreamResponse Int cdsrsResponseStatus = lens _cdsrsResponseStatus (\ s a -> s{_cdsrsResponseStatus = a}); -instance NFData CreateDeliveryStreamResponse+instance NFData CreateDeliveryStreamResponse where
gen/Network/AWS/Firehose/DeleteDeliveryStream.hs view
@@ -12,9 +12,9 @@ -- | -- Module : Network.AWS.Firehose.DeleteDeliveryStream--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,22 +42,19 @@ , drsResponseStatus ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'DeleteDeliveryStream' .------------ /See:/ 'deleteDeliveryStream' smart constructor.+-- | /See:/ 'deleteDeliveryStream' smart constructor. newtype DeleteDeliveryStream = DeleteDeliveryStream'- { _dDeliveryStreamName :: Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _dDeliveryStreamName :: Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDeliveryStream' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,10 +64,9 @@ :: Text -- ^ 'dDeliveryStreamName' -> DeleteDeliveryStream deleteDeliveryStream pDeliveryStreamName_ =- DeleteDeliveryStream'- { _dDeliveryStreamName = pDeliveryStreamName_- }+ DeleteDeliveryStream' {_dDeliveryStreamName = pDeliveryStreamName_} + -- | The name of the delivery stream. dDeliveryStreamName :: Lens' DeleteDeliveryStream Text dDeliveryStreamName = lens _dDeliveryStreamName (\ s a -> s{_dDeliveryStreamName = a});@@ -85,9 +81,9 @@ DeleteDeliveryStreamResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteDeliveryStream+instance Hashable DeleteDeliveryStream where -instance NFData DeleteDeliveryStream+instance NFData DeleteDeliveryStream where instance ToHeaders DeleteDeliveryStream where toHeaders@@ -112,15 +108,12 @@ instance ToQuery DeleteDeliveryStream where toQuery = const mempty --- | Contains the output of 'DeleteDeliveryStream' .------------ /See:/ 'deleteDeliveryStreamResponse' smart constructor.+-- | /See:/ 'deleteDeliveryStreamResponse' smart constructor. newtype DeleteDeliveryStreamResponse = DeleteDeliveryStreamResponse'- { _drsResponseStatus :: Int- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _drsResponseStatus :: Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDeliveryStreamResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,12 +123,11 @@ :: Int -- ^ 'drsResponseStatus' -> DeleteDeliveryStreamResponse deleteDeliveryStreamResponse pResponseStatus_ =- DeleteDeliveryStreamResponse'- { _drsResponseStatus = pResponseStatus_- }+ DeleteDeliveryStreamResponse' {_drsResponseStatus = pResponseStatus_} + -- | -- | The response status code. drsResponseStatus :: Lens' DeleteDeliveryStreamResponse Int drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a}); -instance NFData DeleteDeliveryStreamResponse+instance NFData DeleteDeliveryStreamResponse where
gen/Network/AWS/Firehose/DescribeDeliveryStream.hs view
@@ -12,9 +12,9 @@ -- | -- Module : Network.AWS.Firehose.DescribeDeliveryStream--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,29 +39,26 @@ , ddsrsDeliveryStreamDescription ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'DescribeDeliveryStream' .------------ /See:/ 'describeDeliveryStream' smart constructor.+-- | /See:/ 'describeDeliveryStream' smart constructor. data DescribeDeliveryStream = DescribeDeliveryStream'- { _ddsExclusiveStartDestinationId :: !(Maybe Text)- , _ddsLimit :: !(Maybe Nat)- , _ddsDeliveryStreamName :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _ddsExclusiveStartDestinationId :: !(Maybe Text)+ , _ddsLimit :: !(Maybe Nat)+ , _ddsDeliveryStreamName :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeDeliveryStream' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ddsExclusiveStartDestinationId' - Specifies the destination ID to start returning the destination information. Currently Firehose supports one destination per delivery stream.+-- * 'ddsExclusiveStartDestinationId' - The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream. -- -- * 'ddsLimit' - The limit on the number of destinations to return. Currently, you can have one destination per delivery stream. --@@ -70,13 +67,14 @@ :: Text -- ^ 'ddsDeliveryStreamName' -> DescribeDeliveryStream describeDeliveryStream pDeliveryStreamName_ =- DescribeDeliveryStream'- { _ddsExclusiveStartDestinationId = Nothing- , _ddsLimit = Nothing- , _ddsDeliveryStreamName = pDeliveryStreamName_- }+ DescribeDeliveryStream'+ { _ddsExclusiveStartDestinationId = Nothing+ , _ddsLimit = Nothing+ , _ddsDeliveryStreamName = pDeliveryStreamName_+ } --- | Specifies the destination ID to start returning the destination information. Currently Firehose supports one destination per delivery stream.++-- | The ID of the destination to start returning the destination information. Currently, Kinesis Firehose supports one destination per delivery stream. ddsExclusiveStartDestinationId :: Lens' DescribeDeliveryStream (Maybe Text) ddsExclusiveStartDestinationId = lens _ddsExclusiveStartDestinationId (\ s a -> s{_ddsExclusiveStartDestinationId = a}); @@ -99,9 +97,9 @@ (pure (fromEnum s)) <*> (x .:> "DeliveryStreamDescription")) -instance Hashable DescribeDeliveryStream+instance Hashable DescribeDeliveryStream where -instance NFData DescribeDeliveryStream+instance NFData DescribeDeliveryStream where instance ToHeaders DescribeDeliveryStream where toHeaders@@ -129,16 +127,13 @@ instance ToQuery DescribeDeliveryStream where toQuery = const mempty --- | Contains the output of 'DescribeDeliveryStream' .------------ /See:/ 'describeDeliveryStreamResponse' smart constructor.+-- | /See:/ 'describeDeliveryStreamResponse' smart constructor. data DescribeDeliveryStreamResponse = DescribeDeliveryStreamResponse'- { _ddsrsResponseStatus :: !Int- , _ddsrsDeliveryStreamDescription :: !DeliveryStreamDescription- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _ddsrsResponseStatus :: !Int+ , _ddsrsDeliveryStreamDescription :: !DeliveryStreamDescription+ } deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeDeliveryStreamResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -151,11 +146,12 @@ -> DeliveryStreamDescription -- ^ 'ddsrsDeliveryStreamDescription' -> DescribeDeliveryStreamResponse describeDeliveryStreamResponse pResponseStatus_ pDeliveryStreamDescription_ =- DescribeDeliveryStreamResponse'- { _ddsrsResponseStatus = pResponseStatus_- , _ddsrsDeliveryStreamDescription = pDeliveryStreamDescription_- }+ DescribeDeliveryStreamResponse'+ { _ddsrsResponseStatus = pResponseStatus_+ , _ddsrsDeliveryStreamDescription = pDeliveryStreamDescription_+ } + -- | -- | The response status code. ddsrsResponseStatus :: Lens' DescribeDeliveryStreamResponse Int ddsrsResponseStatus = lens _ddsrsResponseStatus (\ s a -> s{_ddsrsResponseStatus = a});@@ -164,4 +160,4 @@ ddsrsDeliveryStreamDescription :: Lens' DescribeDeliveryStreamResponse DeliveryStreamDescription ddsrsDeliveryStreamDescription = lens _ddsrsDeliveryStreamDescription (\ s a -> s{_ddsrsDeliveryStreamDescription = a}); -instance NFData DescribeDeliveryStreamResponse+instance NFData DescribeDeliveryStreamResponse where
+ gen/Network/AWS/Firehose/GetKinesisStream.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Firehose.GetKinesisStream+-- Copyright : (c) 2013-2017 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Undocumented operation.+module Network.AWS.Firehose.GetKinesisStream+ (+ -- * Creating a Request+ getKinesisStream+ , GetKinesisStream+ -- * Request Lenses+ , gksDeliveryStreamARN++ -- * Destructuring the Response+ , getKinesisStreamResponse+ , GetKinesisStreamResponse+ -- * Response Lenses+ , gksrsCredentialsForReadingKinesisStream+ , gksrsKinesisStreamARN+ , gksrsResponseStatus+ ) where++import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getKinesisStream' smart constructor.+newtype GetKinesisStream = GetKinesisStream'+ { _gksDeliveryStreamARN :: Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetKinesisStream' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gksDeliveryStreamARN' - Undocumented member.+getKinesisStream+ :: Text -- ^ 'gksDeliveryStreamARN'+ -> GetKinesisStream+getKinesisStream pDeliveryStreamARN_ =+ GetKinesisStream' {_gksDeliveryStreamARN = pDeliveryStreamARN_}+++-- | Undocumented member.+gksDeliveryStreamARN :: Lens' GetKinesisStream Text+gksDeliveryStreamARN = lens _gksDeliveryStreamARN (\ s a -> s{_gksDeliveryStreamARN = a});++instance AWSRequest GetKinesisStream where+ type Rs GetKinesisStream = GetKinesisStreamResponse+ request = postJSON firehose+ response+ = receiveJSON+ (\ s h x ->+ GetKinesisStreamResponse' <$>+ (x .?> "CredentialsForReadingKinesisStream") <*>+ (x .?> "KinesisStreamARN")+ <*> (pure (fromEnum s)))++instance Hashable GetKinesisStream where++instance NFData GetKinesisStream where++instance ToHeaders GetKinesisStream where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("Firehose_20150804.GetKinesisStream" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetKinesisStream where+ toJSON GetKinesisStream'{..}+ = object+ (catMaybes+ [Just+ ("DeliveryStreamARN" .= _gksDeliveryStreamARN)])++instance ToPath GetKinesisStream where+ toPath = const "/"++instance ToQuery GetKinesisStream where+ toQuery = const mempty++-- | /See:/ 'getKinesisStreamResponse' smart constructor.+data GetKinesisStreamResponse = GetKinesisStreamResponse'+ { _gksrsCredentialsForReadingKinesisStream :: !(Maybe SessionCredentials)+ , _gksrsKinesisStreamARN :: !(Maybe Text)+ , _gksrsResponseStatus :: !Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetKinesisStreamResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gksrsCredentialsForReadingKinesisStream' - Undocumented member.+--+-- * 'gksrsKinesisStreamARN' - Undocumented member.+--+-- * 'gksrsResponseStatus' - -- | The response status code.+getKinesisStreamResponse+ :: Int -- ^ 'gksrsResponseStatus'+ -> GetKinesisStreamResponse+getKinesisStreamResponse pResponseStatus_ =+ GetKinesisStreamResponse'+ { _gksrsCredentialsForReadingKinesisStream = Nothing+ , _gksrsKinesisStreamARN = Nothing+ , _gksrsResponseStatus = pResponseStatus_+ }+++-- | Undocumented member.+gksrsCredentialsForReadingKinesisStream :: Lens' GetKinesisStreamResponse (Maybe SessionCredentials)+gksrsCredentialsForReadingKinesisStream = lens _gksrsCredentialsForReadingKinesisStream (\ s a -> s{_gksrsCredentialsForReadingKinesisStream = a});++-- | Undocumented member.+gksrsKinesisStreamARN :: Lens' GetKinesisStreamResponse (Maybe Text)+gksrsKinesisStreamARN = lens _gksrsKinesisStreamARN (\ s a -> s{_gksrsKinesisStreamARN = a});++-- | -- | The response status code.+gksrsResponseStatus :: Lens' GetKinesisStreamResponse Int+gksrsResponseStatus = lens _gksrsResponseStatus (\ s a -> s{_gksrsResponseStatus = a});++instance NFData GetKinesisStreamResponse where
gen/Network/AWS/Firehose/ListDeliveryStreams.hs view
@@ -12,9 +12,9 @@ -- | -- Module : Network.AWS.Firehose.ListDeliveryStreams--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --@@ -30,6 +30,7 @@ , ListDeliveryStreams -- * Request Lenses , ldsLimit+ , ldsDeliveryStreamType , ldsExclusiveStartDeliveryStreamName -- * Destructuring the Response@@ -41,42 +42,48 @@ , ldsrsHasMoreDeliveryStreams ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'ListDeliveryStreams' .------------ /See:/ 'listDeliveryStreams' smart constructor.+-- | /See:/ 'listDeliveryStreams' smart constructor. data ListDeliveryStreams = ListDeliveryStreams'- { _ldsLimit :: !(Maybe Nat)- , _ldsExclusiveStartDeliveryStreamName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _ldsLimit :: !(Maybe Nat)+ , _ldsDeliveryStreamType :: !(Maybe DeliveryStreamType)+ , _ldsExclusiveStartDeliveryStreamName :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDeliveryStreams' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ldsLimit' - The maximum number of delivery streams to list. --+-- * 'ldsDeliveryStreamType' - The delivery stream type. This can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source. This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.+-- -- * 'ldsExclusiveStartDeliveryStreamName' - The name of the delivery stream to start the list with. listDeliveryStreams :: ListDeliveryStreams listDeliveryStreams =- ListDeliveryStreams'- { _ldsLimit = Nothing- , _ldsExclusiveStartDeliveryStreamName = Nothing- }+ ListDeliveryStreams'+ { _ldsLimit = Nothing+ , _ldsDeliveryStreamType = Nothing+ , _ldsExclusiveStartDeliveryStreamName = Nothing+ } + -- | The maximum number of delivery streams to list. ldsLimit :: Lens' ListDeliveryStreams (Maybe Natural) ldsLimit = lens _ldsLimit (\ s a -> s{_ldsLimit = a}) . mapping _Nat; +-- | The delivery stream type. This can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source. This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.+ldsDeliveryStreamType :: Lens' ListDeliveryStreams (Maybe DeliveryStreamType)+ldsDeliveryStreamType = lens _ldsDeliveryStreamType (\ s a -> s{_ldsDeliveryStreamType = a});+ -- | The name of the delivery stream to start the list with. ldsExclusiveStartDeliveryStreamName :: Lens' ListDeliveryStreams (Maybe Text) ldsExclusiveStartDeliveryStreamName = lens _ldsExclusiveStartDeliveryStreamName (\ s a -> s{_ldsExclusiveStartDeliveryStreamName = a});@@ -93,9 +100,9 @@ (x .?> "DeliveryStreamNames" .!@ mempty) <*> (x .:> "HasMoreDeliveryStreams")) -instance Hashable ListDeliveryStreams+instance Hashable ListDeliveryStreams where -instance NFData ListDeliveryStreams+instance NFData ListDeliveryStreams where instance ToHeaders ListDeliveryStreams where toHeaders@@ -112,6 +119,7 @@ = object (catMaybes [("Limit" .=) <$> _ldsLimit,+ ("DeliveryStreamType" .=) <$> _ldsDeliveryStreamType, ("ExclusiveStartDeliveryStreamName" .=) <$> _ldsExclusiveStartDeliveryStreamName]) @@ -121,17 +129,14 @@ instance ToQuery ListDeliveryStreams where toQuery = const mempty --- | Contains the output of 'ListDeliveryStreams' .------------ /See:/ 'listDeliveryStreamsResponse' smart constructor.+-- | /See:/ 'listDeliveryStreamsResponse' smart constructor. data ListDeliveryStreamsResponse = ListDeliveryStreamsResponse'- { _ldsrsResponseStatus :: !Int- , _ldsrsDeliveryStreamNames :: ![Text]- , _ldsrsHasMoreDeliveryStreams :: !Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _ldsrsResponseStatus :: !Int+ , _ldsrsDeliveryStreamNames :: ![Text]+ , _ldsrsHasMoreDeliveryStreams :: !Bool+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDeliveryStreamsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -146,12 +151,13 @@ -> Bool -- ^ 'ldsrsHasMoreDeliveryStreams' -> ListDeliveryStreamsResponse listDeliveryStreamsResponse pResponseStatus_ pHasMoreDeliveryStreams_ =- ListDeliveryStreamsResponse'- { _ldsrsResponseStatus = pResponseStatus_- , _ldsrsDeliveryStreamNames = mempty- , _ldsrsHasMoreDeliveryStreams = pHasMoreDeliveryStreams_- }+ ListDeliveryStreamsResponse'+ { _ldsrsResponseStatus = pResponseStatus_+ , _ldsrsDeliveryStreamNames = mempty+ , _ldsrsHasMoreDeliveryStreams = pHasMoreDeliveryStreams_+ } + -- | -- | The response status code. ldsrsResponseStatus :: Lens' ListDeliveryStreamsResponse Int ldsrsResponseStatus = lens _ldsrsResponseStatus (\ s a -> s{_ldsrsResponseStatus = a});@@ -164,4 +170,4 @@ ldsrsHasMoreDeliveryStreams :: Lens' ListDeliveryStreamsResponse Bool ldsrsHasMoreDeliveryStreams = lens _ldsrsHasMoreDeliveryStreams (\ s a -> s{_ldsrsHasMoreDeliveryStreams = a}); -instance NFData ListDeliveryStreamsResponse+instance NFData ListDeliveryStreamsResponse where
gen/Network/AWS/Firehose/PutRecord.hs view
@@ -12,9 +12,9 @@ -- | -- Module : Network.AWS.Firehose.PutRecord--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --@@ -23,15 +23,15 @@ -- -- By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use 'PutRecord' and 'PutRecordBatch' , the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see <http://docs.aws.amazon.com/firehose/latest/dev/limits.html Amazon Kinesis Firehose Limits> . ----- You must specify the name of the delivery stream and the data record when using 'PutRecord' . The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, etc.+-- You must specify the name of the delivery stream and the data record when using 'PutRecord' . The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, website clickstream data, and so on. ----- Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (@\n@ ) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.+-- Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (@\n@ ) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination. -- -- The 'PutRecord' operation returns a __RecordId__ , which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation. -- -- If the 'PutRecord' operation throws a __ServiceUnavailableException__ , back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. ----- Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.+-- Data records sent to Kinesis Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available. -- module Network.AWS.Firehose.PutRecord (@@ -50,23 +50,20 @@ , prrsRecordId ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'PutRecord' .------------ /See:/ 'putRecord' smart constructor.+-- | /See:/ 'putRecord' smart constructor. data PutRecord = PutRecord'- { _prDeliveryStreamName :: !Text- , _prRecord :: !Record- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _prDeliveryStreamName :: !Text+ , _prRecord :: !Record+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PutRecord' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -79,11 +76,10 @@ -> Record -- ^ 'prRecord' -> PutRecord putRecord pDeliveryStreamName_ pRecord_ =- PutRecord'- { _prDeliveryStreamName = pDeliveryStreamName_- , _prRecord = pRecord_- }+ PutRecord'+ {_prDeliveryStreamName = pDeliveryStreamName_, _prRecord = pRecord_} + -- | The name of the delivery stream. prDeliveryStreamName :: Lens' PutRecord Text prDeliveryStreamName = lens _prDeliveryStreamName (\ s a -> s{_prDeliveryStreamName = a});@@ -101,9 +97,9 @@ PutRecordResponse' <$> (pure (fromEnum s)) <*> (x .:> "RecordId")) -instance Hashable PutRecord+instance Hashable PutRecord where -instance NFData PutRecord+instance NFData PutRecord where instance ToHeaders PutRecord where toHeaders@@ -128,16 +124,13 @@ instance ToQuery PutRecord where toQuery = const mempty --- | Contains the output of 'PutRecord' .------------ /See:/ 'putRecordResponse' smart constructor.+-- | /See:/ 'putRecordResponse' smart constructor. data PutRecordResponse = PutRecordResponse'- { _prrsResponseStatus :: !Int- , _prrsRecordId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _prrsResponseStatus :: !Int+ , _prrsRecordId :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PutRecordResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,11 +143,10 @@ -> Text -- ^ 'prrsRecordId' -> PutRecordResponse putRecordResponse pResponseStatus_ pRecordId_ =- PutRecordResponse'- { _prrsResponseStatus = pResponseStatus_- , _prrsRecordId = pRecordId_- }+ PutRecordResponse'+ {_prrsResponseStatus = pResponseStatus_, _prrsRecordId = pRecordId_} + -- | -- | The response status code. prrsResponseStatus :: Lens' PutRecordResponse Int prrsResponseStatus = lens _prrsResponseStatus (\ s a -> s{_prrsResponseStatus = a});@@ -163,4 +155,4 @@ prrsRecordId :: Lens' PutRecordResponse Text prrsRecordId = lens _prrsRecordId (\ s a -> s{_prrsRecordId = a}); -instance NFData PutRecordResponse+instance NFData PutRecordResponse where
gen/Network/AWS/Firehose/PutRecordBatch.hs view
@@ -12,31 +12,33 @@ -- | -- Module : Network.AWS.Firehose.PutRecordBatch--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use 'PutRecord' . Applications using these operations are referred to as producers. -- ----- Each 'PutRecordBatch' request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use 'PutRecord' and 'PutRecordBatch' , the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see <http://docs.aws.amazon.com/firehose/latest/dev/limits.html Amazon Kinesis Firehose Limits> .+-- By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use 'PutRecord' and 'PutRecordBatch' , the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see <http://docs.aws.amazon.com/firehose/latest/dev/limits.html Amazon Kinesis Firehose Limits> . ----- You must specify the name of the delivery stream and the data record when using 'PutRecord' . The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, and so on.+-- Each 'PutRecordBatch' request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed. ----- Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (@\n@ ) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.+-- You must specify the name of the delivery stream and the data record when using 'PutRecord' . The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, web site clickstream data, and so on. ----- The 'PutRecordBatch' response includes a count of any failed records, __FailedPutCount__ , and an array of responses, __RequestResponses__ . The __FailedPutCount__ value is a count of records that failed. Each entry in the __RequestResponses__ array gives additional information of the processed record. Each entry in __RequestResponses__ directly correlates with a record in the request array using the same ordering, from the top to the bottom of the request and response. __RequestResponses__ always includes the same number of records as the request array. __RequestResponses__ both successfully and unsuccessfully processed records. Firehose attempts to process all records in each 'PutRecordBatch' request. A single record failure does not stop the processing of subsequent records.+-- Kinesis Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (@\n@ ) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination. ----- A successfully processed record includes a __RecordId__ value, which is a unique value identified for the record. An unsuccessfully processed record includes __ErrorCode__ and __ErrorMessage__ values. __ErrorCode__ reflects the type of error and is one of the following values: @ServiceUnavailable@ or @InternalFailure@ . @ErrorMessage@ provides more detailed information about the error.+-- The 'PutRecordBatch' response includes a count of failed records, __FailedPutCount__ , and an array of responses, __RequestResponses__ . Each entry in the __RequestResponses__ array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. __RequestResponses__ includes both successfully and unsuccessfully processed records. Kinesis Firehose attempts to process all records in each 'PutRecordBatch' request. A single record failure does not stop the processing of subsequent records. ----- If __FailedPutCount__ is greater than 0 (zero), retry the request. A retry of the entire batch of records is possible; however, we strongly recommend that you inspect the entire response and resend only those records that failed processing. This minimizes duplicate records and also reduces the total bytes sent (and corresponding charges).+-- A successfully processed record includes a __RecordId__ value, which is unique for the record. An unsuccessfully processed record includes __ErrorCode__ and __ErrorMessage__ values. __ErrorCode__ reflects the type of error, and is one of the following values: @ServiceUnavailable@ or @InternalFailure@ . __ErrorMessage__ provides more detailed information about the error. ----- If the 'PutRecordBatch' operation throws a __ServiceUnavailableException__ , back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.+-- If there is an internal server error or a timeout, the write might have completed or it might have failed. If __FailedPutCount__ is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination. ----- Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.+-- If 'PutRecordBatch' throws __ServiceUnavailableException__ , back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream. --+-- Data records sent to Kinesis Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.+-- module Network.AWS.Firehose.PutRecordBatch ( -- * Creating a Request@@ -55,23 +57,20 @@ , prbrsRequestResponses ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'PutRecordBatch' .------------ /See:/ 'putRecordBatch' smart constructor.+-- | /See:/ 'putRecordBatch' smart constructor. data PutRecordBatch = PutRecordBatch'- { _prbDeliveryStreamName :: !Text- , _prbRecords :: !(List1 Record)- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _prbDeliveryStreamName :: !Text+ , _prbRecords :: !(List1 Record)+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PutRecordBatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -84,11 +83,12 @@ -> NonEmpty Record -- ^ 'prbRecords' -> PutRecordBatch putRecordBatch pDeliveryStreamName_ pRecords_ =- PutRecordBatch'- { _prbDeliveryStreamName = pDeliveryStreamName_- , _prbRecords = _List1 # pRecords_- }+ PutRecordBatch'+ { _prbDeliveryStreamName = pDeliveryStreamName_+ , _prbRecords = _List1 # pRecords_+ } + -- | The name of the delivery stream. prbDeliveryStreamName :: Lens' PutRecordBatch Text prbDeliveryStreamName = lens _prbDeliveryStreamName (\ s a -> s{_prbDeliveryStreamName = a});@@ -107,9 +107,9 @@ (pure (fromEnum s)) <*> (x .:> "FailedPutCount") <*> (x .:> "RequestResponses")) -instance Hashable PutRecordBatch+instance Hashable PutRecordBatch where -instance NFData PutRecordBatch+instance NFData PutRecordBatch where instance ToHeaders PutRecordBatch where toHeaders@@ -134,48 +134,46 @@ instance ToQuery PutRecordBatch where toQuery = const mempty --- | Contains the output of 'PutRecordBatch' .------------ /See:/ 'putRecordBatchResponse' smart constructor.+-- | /See:/ 'putRecordBatchResponse' smart constructor. data PutRecordBatchResponse = PutRecordBatchResponse'- { _prbrsResponseStatus :: !Int- , _prbrsFailedPutCount :: !Nat- , _prbrsRequestResponses :: !(List1 PutRecordBatchResponseEntry)- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _prbrsResponseStatus :: !Int+ , _prbrsFailedPutCount :: !Nat+ , _prbrsRequestResponses :: !(List1 PutRecordBatchResponseEntry)+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PutRecordBatchResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'prbrsResponseStatus' - -- | The response status code. ----- * 'prbrsFailedPutCount' - The number of unsuccessfully written records.+-- * 'prbrsFailedPutCount' - The number of records that might have failed processing. ----- * 'prbrsRequestResponses' - The results for the individual records. The index of each element matches the same index in which records were sent.+-- * 'prbrsRequestResponses' - The results array. For each record, the index of the response element is the same as the index used in the request array. putRecordBatchResponse :: Int -- ^ 'prbrsResponseStatus' -> Natural -- ^ 'prbrsFailedPutCount' -> NonEmpty PutRecordBatchResponseEntry -- ^ 'prbrsRequestResponses' -> PutRecordBatchResponse putRecordBatchResponse pResponseStatus_ pFailedPutCount_ pRequestResponses_ =- PutRecordBatchResponse'- { _prbrsResponseStatus = pResponseStatus_- , _prbrsFailedPutCount = _Nat # pFailedPutCount_- , _prbrsRequestResponses = _List1 # pRequestResponses_- }+ PutRecordBatchResponse'+ { _prbrsResponseStatus = pResponseStatus_+ , _prbrsFailedPutCount = _Nat # pFailedPutCount_+ , _prbrsRequestResponses = _List1 # pRequestResponses_+ } + -- | -- | The response status code. prbrsResponseStatus :: Lens' PutRecordBatchResponse Int prbrsResponseStatus = lens _prbrsResponseStatus (\ s a -> s{_prbrsResponseStatus = a}); --- | The number of unsuccessfully written records.+-- | The number of records that might have failed processing. prbrsFailedPutCount :: Lens' PutRecordBatchResponse Natural prbrsFailedPutCount = lens _prbrsFailedPutCount (\ s a -> s{_prbrsFailedPutCount = a}) . _Nat; --- | The results for the individual records. The index of each element matches the same index in which records were sent.+-- | The results array. For each record, the index of the response element is the same as the index used in the request array. prbrsRequestResponses :: Lens' PutRecordBatchResponse (NonEmpty PutRecordBatchResponseEntry) prbrsRequestResponses = lens _prbrsRequestResponses (\ s a -> s{_prbrsRequestResponses = a}) . _List1; -instance NFData PutRecordBatchResponse+instance NFData PutRecordBatchResponse where
gen/Network/AWS/Firehose/Types.hs view
@@ -4,9 +4,9 @@ -- | -- Module : Network.AWS.Firehose.Types--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --@@ -16,6 +16,7 @@ firehose -- * Errors+ , _InvalidStreamTypeException , _InvalidArgumentException , _ConcurrentModificationException , _ServiceUnavailableException@@ -29,6 +30,9 @@ -- * DeliveryStreamStatus , DeliveryStreamStatus (..) + -- * DeliveryStreamType+ , DeliveryStreamType (..)+ -- * ElasticsearchIndexRotationPeriod , ElasticsearchIndexRotationPeriod (..) @@ -38,6 +42,18 @@ -- * NoEncryptionConfig , NoEncryptionConfig (..) + -- * ProcessorParameterName+ , ProcessorParameterName (..)++ -- * ProcessorType+ , ProcessorType (..)++ -- * RedshiftS3BackupMode+ , RedshiftS3BackupMode (..)++ -- * S3BackupMode+ , S3BackupMode (..)+ -- * BufferingHints , BufferingHints , bufferingHints@@ -62,10 +78,12 @@ , DeliveryStreamDescription , deliveryStreamDescription , dsdCreateTimestamp+ , dsdSource , dsdLastUpdateTimestamp , dsdDeliveryStreamName , dsdDeliveryStreamARN , dsdDeliveryStreamStatus+ , dsdDeliveryStreamType , dsdVersionId , dsdDestinations , dsdHasMoreDestinations@@ -74,6 +92,7 @@ , DestinationDescription , destinationDescription , ddS3DestinationDescription+ , ddExtendedS3DestinationDescription , ddElasticsearchDestinationDescription , ddRedshiftDestinationDescription , ddDestinationId@@ -92,6 +111,7 @@ , edcCloudWatchLoggingOptions , edcBufferingHints , edcRetryOptions+ , edcProcessingConfiguration , edcRoleARN , edcDomainARN , edcIndexName@@ -109,6 +129,7 @@ , eddS3DestinationDescription , eddBufferingHints , eddRetryOptions+ , eddProcessingConfiguration , eddRoleARN , eddIndexName @@ -122,6 +143,7 @@ , eduS3Update , eduBufferingHints , eduRetryOptions+ , eduProcessingConfiguration , eduRoleARN , eduIndexName @@ -136,11 +158,84 @@ , ecNoEncryptionConfig , ecKMSEncryptionConfig + -- * ExtendedS3DestinationConfiguration+ , ExtendedS3DestinationConfiguration+ , extendedS3DestinationConfiguration+ , esdcS3BackupMode+ , esdcPrefix+ , esdcCloudWatchLoggingOptions+ , esdcS3BackupConfiguration+ , esdcEncryptionConfiguration+ , esdcCompressionFormat+ , esdcBufferingHints+ , esdcProcessingConfiguration+ , esdcRoleARN+ , esdcBucketARN++ -- * ExtendedS3DestinationDescription+ , ExtendedS3DestinationDescription+ , extendedS3DestinationDescription+ , esddS3BackupMode+ , esddS3BackupDescription+ , esddPrefix+ , esddCloudWatchLoggingOptions+ , esddProcessingConfiguration+ , esddRoleARN+ , esddBucketARN+ , esddBufferingHints+ , esddCompressionFormat+ , esddEncryptionConfiguration++ -- * ExtendedS3DestinationUpdate+ , ExtendedS3DestinationUpdate+ , extendedS3DestinationUpdate+ , esduS3BackupMode+ , esduPrefix+ , esduCloudWatchLoggingOptions+ , esduS3BackupUpdate+ , esduEncryptionConfiguration+ , esduCompressionFormat+ , esduBufferingHints+ , esduBucketARN+ , esduProcessingConfiguration+ , esduRoleARN+ -- * KMSEncryptionConfig , KMSEncryptionConfig , kmsEncryptionConfig , kecAWSKMSKeyARN + -- * KinesisStreamSourceConfiguration+ , KinesisStreamSourceConfiguration+ , kinesisStreamSourceConfiguration+ , ksscKinesisStreamARN+ , ksscRoleARN++ -- * KinesisStreamSourceDescription+ , KinesisStreamSourceDescription+ , kinesisStreamSourceDescription+ , kssdDeliveryStartTimestamp+ , kssdKinesisStreamARN+ , kssdRoleARN++ -- * ProcessingConfiguration+ , ProcessingConfiguration+ , processingConfiguration+ , pcEnabled+ , pcProcessors++ -- * Processor+ , Processor+ , processor+ , pParameters+ , pType++ -- * ProcessorParameter+ , ProcessorParameter+ , processorParameter+ , ppParameterName+ , ppParameterValue+ -- * PutRecordBatchResponseEntry , PutRecordBatchResponseEntry , putRecordBatchResponseEntry@@ -156,8 +251,11 @@ -- * RedshiftDestinationConfiguration , RedshiftDestinationConfiguration , redshiftDestinationConfiguration+ , rdcS3BackupMode , rdcCloudWatchLoggingOptions+ , rdcS3BackupConfiguration , rdcRetryOptions+ , rdcProcessingConfiguration , rdcRoleARN , rdcClusterJDBCURL , rdcCopyCommand@@ -168,8 +266,11 @@ -- * RedshiftDestinationDescription , RedshiftDestinationDescription , redshiftDestinationDescription+ , rddS3BackupMode+ , rddS3BackupDescription , rddCloudWatchLoggingOptions , rddRetryOptions+ , rddProcessingConfiguration , rddRoleARN , rddClusterJDBCURL , rddCopyCommand@@ -179,12 +280,15 @@ -- * RedshiftDestinationUpdate , RedshiftDestinationUpdate , redshiftDestinationUpdate+ , rduS3BackupMode , rduCloudWatchLoggingOptions , rduUsername , rduS3Update , rduPassword+ , rduS3BackupUpdate , rduCopyCommand , rduRetryOptions+ , rduProcessingConfiguration , rduClusterJDBCURL , rduRoleARN @@ -225,40 +329,55 @@ , sduBufferingHints , sduBucketARN , sduRoleARN++ -- * SessionCredentials+ , SessionCredentials+ , sessionCredentials+ , scAccessKeyId+ , scSecretAccessKey+ , scSessionToken+ , scExpiration++ -- * SourceDescription+ , SourceDescription+ , sourceDescription+ , sdKinesisStreamSourceDescription ) where -import Network.AWS.Firehose.Types.Product-import Network.AWS.Firehose.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Sign.V4+import Network.AWS.Firehose.Types.Product+import Network.AWS.Firehose.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4 -- | API version @2015-08-04@ of the Amazon Kinesis Firehose SDK configuration. firehose :: Service firehose =- Service- { _svcAbbrev = "Firehose"- , _svcSigner = v4- , _svcPrefix = "firehose"- , _svcVersion = "2015-08-04"- , _svcEndpoint = defaultEndpoint firehose- , _svcTimeout = Just 70- , _svcCheck = statusSuccess- , _svcError = parseJSONError "Firehose"- , _svcRetry = retry- }+ Service+ { _svcAbbrev = "Firehose"+ , _svcSigner = v4+ , _svcPrefix = "firehose"+ , _svcVersion = "2015-08-04"+ , _svcEndpoint = defaultEndpoint firehose+ , _svcTimeout = Just 70+ , _svcCheck = statusSuccess+ , _svcError = parseJSONError "Firehose"+ , _svcRetry = retry+ } where retry =- Exponential- { _retryBase = 5.0e-2- , _retryGrowth = 2- , _retryAttempts = 5- , _retryCheck = check- }+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ } check e+ | has (hasCode "ThrottledException" . hasStatus 400) e =+ Just "throttled_exception" | has (hasStatus 429) e = Just "too_many_requests" | has (hasCode "ThrottlingException" . hasStatus 400) e =- Just "throttling_exception"+ Just "throttling_exception" | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling" | has (hasStatus 504) e = Just "gateway_timeout" | has (hasStatus 502) e = Just "bad_gateway"@@ -267,41 +386,55 @@ | has (hasStatus 509) e = Just "limit_exceeded" | otherwise = Nothing --- | The specified input parameter has an value that is not valid.++-- | Prism for InvalidStreamTypeException' errors.+_InvalidStreamTypeException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidStreamTypeException =+ _MatchServiceError firehose "InvalidStreamTypeException"+++-- | The specified input parameter has a value that is not valid. -- -- _InvalidArgumentException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidArgumentException = _ServiceError . hasCode "InvalidArgumentException"+_InvalidArgumentException =+ _MatchServiceError firehose "InvalidArgumentException" + -- | Another modification has already happened. Fetch __VersionId__ again and use it to update the destination. -- -- _ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError _ConcurrentModificationException =- _ServiceError . hasCode "ConcurrentModificationException"+ _MatchServiceError firehose "ConcurrentModificationException" + -- | The service is unavailable, back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see <http://docs.aws.amazon.com/firehose/latest/dev/limits.html Amazon Kinesis Firehose Limits> . -- -- _ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError _ServiceUnavailableException =- _ServiceError . hasCode "ServiceUnavailableException"+ _MatchServiceError firehose "ServiceUnavailableException" + -- | The specified resource could not be found. -- -- _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _ResourceNotFoundException =- _ServiceError . hasCode "ResourceNotFoundException"+ _MatchServiceError firehose "ResourceNotFoundException" + -- | You have already reached the limit for a requested resource. -- -- _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_LimitExceededException = _ServiceError . hasCode "LimitExceededException"+_LimitExceededException = _MatchServiceError firehose "LimitExceededException" + -- | The resource is already in use and not available for this operation. -- -- _ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError-_ResourceInUseException = _ServiceError . hasCode "ResourceInUseException"+_ResourceInUseException = _MatchServiceError firehose "ResourceInUseException"+
gen/Network/AWS/Firehose/Types/Product.hs view
@@ -9,1604 +9,2513 @@ -- | -- Module : Network.AWS.Firehose.Types.Product--- Copyright : (c) 2013-2016 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Firehose.Types.Product where--import Network.AWS.Firehose.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Firehose may choose to use different values when it is optimal.------------ /See:/ 'bufferingHints' smart constructor.-data BufferingHints = BufferingHints'- { _bhSizeInMBs :: !(Maybe Nat)- , _bhIntervalInSeconds :: !(Maybe Nat)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'BufferingHints' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bhSizeInMBs' - Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher.------ * 'bhIntervalInSeconds' - Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.-bufferingHints- :: BufferingHints-bufferingHints =- BufferingHints'- { _bhSizeInMBs = Nothing- , _bhIntervalInSeconds = Nothing- }---- | Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher.-bhSizeInMBs :: Lens' BufferingHints (Maybe Natural)-bhSizeInMBs = lens _bhSizeInMBs (\ s a -> s{_bhSizeInMBs = a}) . mapping _Nat;---- | Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.-bhIntervalInSeconds :: Lens' BufferingHints (Maybe Natural)-bhIntervalInSeconds = lens _bhIntervalInSeconds (\ s a -> s{_bhIntervalInSeconds = a}) . mapping _Nat;--instance FromJSON BufferingHints where- parseJSON- = withObject "BufferingHints"- (\ x ->- BufferingHints' <$>- (x .:? "SizeInMBs") <*> (x .:? "IntervalInSeconds"))--instance Hashable BufferingHints--instance NFData BufferingHints--instance ToJSON BufferingHints where- toJSON BufferingHints'{..}- = object- (catMaybes- [("SizeInMBs" .=) <$> _bhSizeInMBs,- ("IntervalInSeconds" .=) <$> _bhIntervalInSeconds])---- | Describes CloudWatch logging options for your delivery stream.------------ /See:/ 'cloudWatchLoggingOptions' smart constructor.-data CloudWatchLoggingOptions = CloudWatchLoggingOptions'- { _cwloEnabled :: !(Maybe Bool)- , _cwloLogGroupName :: !(Maybe Text)- , _cwloLogStreamName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CloudWatchLoggingOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cwloEnabled' - Enables or disables CloudWatch logging.------ * 'cwloLogGroupName' - The CloudWatch group name for logging. This value is required if Enabled is true.------ * 'cwloLogStreamName' - The CloudWatch log stream name for logging. This value is required if Enabled is true.-cloudWatchLoggingOptions- :: CloudWatchLoggingOptions-cloudWatchLoggingOptions =- CloudWatchLoggingOptions'- { _cwloEnabled = Nothing- , _cwloLogGroupName = Nothing- , _cwloLogStreamName = Nothing- }---- | Enables or disables CloudWatch logging.-cwloEnabled :: Lens' CloudWatchLoggingOptions (Maybe Bool)-cwloEnabled = lens _cwloEnabled (\ s a -> s{_cwloEnabled = a});---- | The CloudWatch group name for logging. This value is required if Enabled is true.-cwloLogGroupName :: Lens' CloudWatchLoggingOptions (Maybe Text)-cwloLogGroupName = lens _cwloLogGroupName (\ s a -> s{_cwloLogGroupName = a});---- | The CloudWatch log stream name for logging. This value is required if Enabled is true.-cwloLogStreamName :: Lens' CloudWatchLoggingOptions (Maybe Text)-cwloLogStreamName = lens _cwloLogStreamName (\ s a -> s{_cwloLogStreamName = a});--instance FromJSON CloudWatchLoggingOptions where- parseJSON- = withObject "CloudWatchLoggingOptions"- (\ x ->- CloudWatchLoggingOptions' <$>- (x .:? "Enabled") <*> (x .:? "LogGroupName") <*>- (x .:? "LogStreamName"))--instance Hashable CloudWatchLoggingOptions--instance NFData CloudWatchLoggingOptions--instance ToJSON CloudWatchLoggingOptions where- toJSON CloudWatchLoggingOptions'{..}- = object- (catMaybes- [("Enabled" .=) <$> _cwloEnabled,- ("LogGroupName" .=) <$> _cwloLogGroupName,- ("LogStreamName" .=) <$> _cwloLogStreamName])---- | Describes a @COPY@ command for Amazon Redshift.------------ /See:/ 'copyCommand' smart constructor.-data CopyCommand = CopyCommand'- { _ccCopyOptions :: !(Maybe Text)- , _ccDataTableColumns :: !(Maybe Text)- , _ccDataTableName :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CopyCommand' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccCopyOptions' - Optional parameters to use with the Amazon Redshift @COPY@ command. For more information, see the "Optional Parameters" section of <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html Amazon Redshift COPY command> . Some possible examples that would apply to Firehose are as follows. @delimiter '\t' lzop;@ - fields are delimited with "\t" (TAB character) and compressed using lzop. @delimiter '|@ - fields are delimited with "|" (this is the default delimiter). @delimiter '|' escape@ - the delimiter should be escaped. @fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'@ - fields are fixed width in the source, with each width specified after every column in the table. @JSON 's3://mybucket/jsonpaths.txt'@ - data is in JSON format, and the path specified is the format of the data. For more examples, see <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html Amazon Redshift COPY command examples> .------ * 'ccDataTableColumns' - A comma-separated list of column names.------ * 'ccDataTableName' - The name of the target table. The table must already exist in the database.-copyCommand- :: Text -- ^ 'ccDataTableName'- -> CopyCommand-copyCommand pDataTableName_ =- CopyCommand'- { _ccCopyOptions = Nothing- , _ccDataTableColumns = Nothing- , _ccDataTableName = pDataTableName_- }---- | Optional parameters to use with the Amazon Redshift @COPY@ command. For more information, see the "Optional Parameters" section of <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html Amazon Redshift COPY command> . Some possible examples that would apply to Firehose are as follows. @delimiter '\t' lzop;@ - fields are delimited with "\t" (TAB character) and compressed using lzop. @delimiter '|@ - fields are delimited with "|" (this is the default delimiter). @delimiter '|' escape@ - the delimiter should be escaped. @fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'@ - fields are fixed width in the source, with each width specified after every column in the table. @JSON 's3://mybucket/jsonpaths.txt'@ - data is in JSON format, and the path specified is the format of the data. For more examples, see <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html Amazon Redshift COPY command examples> .-ccCopyOptions :: Lens' CopyCommand (Maybe Text)-ccCopyOptions = lens _ccCopyOptions (\ s a -> s{_ccCopyOptions = a});---- | A comma-separated list of column names.-ccDataTableColumns :: Lens' CopyCommand (Maybe Text)-ccDataTableColumns = lens _ccDataTableColumns (\ s a -> s{_ccDataTableColumns = a});---- | The name of the target table. The table must already exist in the database.-ccDataTableName :: Lens' CopyCommand Text-ccDataTableName = lens _ccDataTableName (\ s a -> s{_ccDataTableName = a});--instance FromJSON CopyCommand where- parseJSON- = withObject "CopyCommand"- (\ x ->- CopyCommand' <$>- (x .:? "CopyOptions") <*> (x .:? "DataTableColumns")- <*> (x .: "DataTableName"))--instance Hashable CopyCommand--instance NFData CopyCommand--instance ToJSON CopyCommand where- toJSON CopyCommand'{..}- = object- (catMaybes- [("CopyOptions" .=) <$> _ccCopyOptions,- ("DataTableColumns" .=) <$> _ccDataTableColumns,- Just ("DataTableName" .= _ccDataTableName)])---- | Contains information about a delivery stream.------------ /See:/ 'deliveryStreamDescription' smart constructor.-data DeliveryStreamDescription = DeliveryStreamDescription'- { _dsdCreateTimestamp :: !(Maybe POSIX)- , _dsdLastUpdateTimestamp :: !(Maybe POSIX)- , _dsdDeliveryStreamName :: !Text- , _dsdDeliveryStreamARN :: !Text- , _dsdDeliveryStreamStatus :: !DeliveryStreamStatus- , _dsdVersionId :: !Text- , _dsdDestinations :: ![DestinationDescription]- , _dsdHasMoreDestinations :: !Bool- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DeliveryStreamDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsdCreateTimestamp' - The date and time that the delivery stream was created.------ * 'dsdLastUpdateTimestamp' - The date and time that the delivery stream was last updated.------ * 'dsdDeliveryStreamName' - The name of the delivery stream.------ * 'dsdDeliveryStreamARN' - The Amazon Resource Name (ARN) of the delivery stream.------ * 'dsdDeliveryStreamStatus' - The status of the delivery stream.------ * 'dsdVersionId' - Used when calling the 'UpdateDestination' operation. Each time the destination is updated for the delivery stream, the VersionId is changed, and the current VersionId is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.------ * 'dsdDestinations' - The destinations.------ * 'dsdHasMoreDestinations' - Indicates whether there are more destinations available to list.-deliveryStreamDescription- :: Text -- ^ 'dsdDeliveryStreamName'- -> Text -- ^ 'dsdDeliveryStreamARN'- -> DeliveryStreamStatus -- ^ 'dsdDeliveryStreamStatus'- -> Text -- ^ 'dsdVersionId'- -> Bool -- ^ 'dsdHasMoreDestinations'- -> DeliveryStreamDescription-deliveryStreamDescription pDeliveryStreamName_ pDeliveryStreamARN_ pDeliveryStreamStatus_ pVersionId_ pHasMoreDestinations_ =- DeliveryStreamDescription'- { _dsdCreateTimestamp = Nothing- , _dsdLastUpdateTimestamp = Nothing- , _dsdDeliveryStreamName = pDeliveryStreamName_- , _dsdDeliveryStreamARN = pDeliveryStreamARN_- , _dsdDeliveryStreamStatus = pDeliveryStreamStatus_- , _dsdVersionId = pVersionId_- , _dsdDestinations = mempty- , _dsdHasMoreDestinations = pHasMoreDestinations_- }---- | The date and time that the delivery stream was created.-dsdCreateTimestamp :: Lens' DeliveryStreamDescription (Maybe UTCTime)-dsdCreateTimestamp = lens _dsdCreateTimestamp (\ s a -> s{_dsdCreateTimestamp = a}) . mapping _Time;---- | The date and time that the delivery stream was last updated.-dsdLastUpdateTimestamp :: Lens' DeliveryStreamDescription (Maybe UTCTime)-dsdLastUpdateTimestamp = lens _dsdLastUpdateTimestamp (\ s a -> s{_dsdLastUpdateTimestamp = a}) . mapping _Time;---- | The name of the delivery stream.-dsdDeliveryStreamName :: Lens' DeliveryStreamDescription Text-dsdDeliveryStreamName = lens _dsdDeliveryStreamName (\ s a -> s{_dsdDeliveryStreamName = a});---- | The Amazon Resource Name (ARN) of the delivery stream.-dsdDeliveryStreamARN :: Lens' DeliveryStreamDescription Text-dsdDeliveryStreamARN = lens _dsdDeliveryStreamARN (\ s a -> s{_dsdDeliveryStreamARN = a});---- | The status of the delivery stream.-dsdDeliveryStreamStatus :: Lens' DeliveryStreamDescription DeliveryStreamStatus-dsdDeliveryStreamStatus = lens _dsdDeliveryStreamStatus (\ s a -> s{_dsdDeliveryStreamStatus = a});---- | Used when calling the 'UpdateDestination' operation. Each time the destination is updated for the delivery stream, the VersionId is changed, and the current VersionId is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.-dsdVersionId :: Lens' DeliveryStreamDescription Text-dsdVersionId = lens _dsdVersionId (\ s a -> s{_dsdVersionId = a});---- | The destinations.-dsdDestinations :: Lens' DeliveryStreamDescription [DestinationDescription]-dsdDestinations = lens _dsdDestinations (\ s a -> s{_dsdDestinations = a}) . _Coerce;---- | Indicates whether there are more destinations available to list.-dsdHasMoreDestinations :: Lens' DeliveryStreamDescription Bool-dsdHasMoreDestinations = lens _dsdHasMoreDestinations (\ s a -> s{_dsdHasMoreDestinations = a});--instance FromJSON DeliveryStreamDescription where- parseJSON- = withObject "DeliveryStreamDescription"- (\ x ->- DeliveryStreamDescription' <$>- (x .:? "CreateTimestamp") <*>- (x .:? "LastUpdateTimestamp")- <*> (x .: "DeliveryStreamName")- <*> (x .: "DeliveryStreamARN")- <*> (x .: "DeliveryStreamStatus")- <*> (x .: "VersionId")- <*> (x .:? "Destinations" .!= mempty)- <*> (x .: "HasMoreDestinations"))--instance Hashable DeliveryStreamDescription--instance NFData DeliveryStreamDescription---- | Describes the destination for a delivery stream.------------ /See:/ 'destinationDescription' smart constructor.-data DestinationDescription = DestinationDescription'- { _ddS3DestinationDescription :: !(Maybe S3DestinationDescription)- , _ddElasticsearchDestinationDescription :: !(Maybe ElasticsearchDestinationDescription)- , _ddRedshiftDestinationDescription :: !(Maybe RedshiftDestinationDescription)- , _ddDestinationId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DestinationDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ddS3DestinationDescription' - The Amazon S3 destination.------ * 'ddElasticsearchDestinationDescription' - The destination in Amazon ES.------ * 'ddRedshiftDestinationDescription' - The destination in Amazon Redshift.------ * 'ddDestinationId' - The ID of the destination.-destinationDescription- :: Text -- ^ 'ddDestinationId'- -> DestinationDescription-destinationDescription pDestinationId_ =- DestinationDescription'- { _ddS3DestinationDescription = Nothing- , _ddElasticsearchDestinationDescription = Nothing- , _ddRedshiftDestinationDescription = Nothing- , _ddDestinationId = pDestinationId_- }---- | The Amazon S3 destination.-ddS3DestinationDescription :: Lens' DestinationDescription (Maybe S3DestinationDescription)-ddS3DestinationDescription = lens _ddS3DestinationDescription (\ s a -> s{_ddS3DestinationDescription = a});---- | The destination in Amazon ES.-ddElasticsearchDestinationDescription :: Lens' DestinationDescription (Maybe ElasticsearchDestinationDescription)-ddElasticsearchDestinationDescription = lens _ddElasticsearchDestinationDescription (\ s a -> s{_ddElasticsearchDestinationDescription = a});---- | The destination in Amazon Redshift.-ddRedshiftDestinationDescription :: Lens' DestinationDescription (Maybe RedshiftDestinationDescription)-ddRedshiftDestinationDescription = lens _ddRedshiftDestinationDescription (\ s a -> s{_ddRedshiftDestinationDescription = a});---- | The ID of the destination.-ddDestinationId :: Lens' DestinationDescription Text-ddDestinationId = lens _ddDestinationId (\ s a -> s{_ddDestinationId = a});--instance FromJSON DestinationDescription where- parseJSON- = withObject "DestinationDescription"- (\ x ->- DestinationDescription' <$>- (x .:? "S3DestinationDescription") <*>- (x .:? "ElasticsearchDestinationDescription")- <*> (x .:? "RedshiftDestinationDescription")- <*> (x .: "DestinationId"))--instance Hashable DestinationDescription--instance NFData DestinationDescription---- | Describes the buffering to perform before delivering data to the Amazon ES destination.------------ /See:/ 'elasticsearchBufferingHints' smart constructor.-data ElasticsearchBufferingHints = ElasticsearchBufferingHints'- { _ebhSizeInMBs :: !(Maybe Nat)- , _ebhIntervalInSeconds :: !(Maybe Nat)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ElasticsearchBufferingHints' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ebhSizeInMBs' - Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting __SizeInMBs__ to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, set __SizeInMBs__ to be 10 MB or higher.------ * 'ebhIntervalInSeconds' - Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).-elasticsearchBufferingHints- :: ElasticsearchBufferingHints-elasticsearchBufferingHints =- ElasticsearchBufferingHints'- { _ebhSizeInMBs = Nothing- , _ebhIntervalInSeconds = Nothing- }---- | Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting __SizeInMBs__ to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, set __SizeInMBs__ to be 10 MB or higher.-ebhSizeInMBs :: Lens' ElasticsearchBufferingHints (Maybe Natural)-ebhSizeInMBs = lens _ebhSizeInMBs (\ s a -> s{_ebhSizeInMBs = a}) . mapping _Nat;---- | Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).-ebhIntervalInSeconds :: Lens' ElasticsearchBufferingHints (Maybe Natural)-ebhIntervalInSeconds = lens _ebhIntervalInSeconds (\ s a -> s{_ebhIntervalInSeconds = a}) . mapping _Nat;--instance FromJSON ElasticsearchBufferingHints where- parseJSON- = withObject "ElasticsearchBufferingHints"- (\ x ->- ElasticsearchBufferingHints' <$>- (x .:? "SizeInMBs") <*> (x .:? "IntervalInSeconds"))--instance Hashable ElasticsearchBufferingHints--instance NFData ElasticsearchBufferingHints--instance ToJSON ElasticsearchBufferingHints where- toJSON ElasticsearchBufferingHints'{..}- = object- (catMaybes- [("SizeInMBs" .=) <$> _ebhSizeInMBs,- ("IntervalInSeconds" .=) <$> _ebhIntervalInSeconds])---- | Describes the configuration of a destination in Amazon ES.------------ /See:/ 'elasticsearchDestinationConfiguration' smart constructor.-data ElasticsearchDestinationConfiguration = ElasticsearchDestinationConfiguration'- { _edcIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)- , _edcS3BackupMode :: !(Maybe ElasticsearchS3BackupMode)- , _edcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _edcBufferingHints :: !(Maybe ElasticsearchBufferingHints)- , _edcRetryOptions :: !(Maybe ElasticsearchRetryOptions)- , _edcRoleARN :: !Text- , _edcDomainARN :: !Text- , _edcIndexName :: !Text- , _edcTypeName :: !Text- , _edcS3Configuration :: !S3DestinationConfiguration- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ElasticsearchDestinationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'edcIndexRotationPeriod' - The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .------ * 'edcS3BackupMode' - Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup Amazon S3 Backup for Amazon Elasticsearch Service Destination> . Default value is FailedDocumentsOnly.------ * 'edcCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'edcBufferingHints' - Buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.------ * 'edcRetryOptions' - Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).------ * 'edcRoleARN' - The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .------ * 'edcDomainARN' - The ARN of the Amazon ES domain. The IAM role must have permission for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming __RoleARN__ .------ * 'edcIndexName' - The Elasticsearch index name.------ * 'edcTypeName' - The Elasticsearch type name.------ * 'edcS3Configuration' - Undocumented member.-elasticsearchDestinationConfiguration- :: Text -- ^ 'edcRoleARN'- -> Text -- ^ 'edcDomainARN'- -> Text -- ^ 'edcIndexName'- -> Text -- ^ 'edcTypeName'- -> S3DestinationConfiguration -- ^ 'edcS3Configuration'- -> ElasticsearchDestinationConfiguration-elasticsearchDestinationConfiguration pRoleARN_ pDomainARN_ pIndexName_ pTypeName_ pS3Configuration_ =- ElasticsearchDestinationConfiguration'- { _edcIndexRotationPeriod = Nothing- , _edcS3BackupMode = Nothing- , _edcCloudWatchLoggingOptions = Nothing- , _edcBufferingHints = Nothing- , _edcRetryOptions = Nothing- , _edcRoleARN = pRoleARN_- , _edcDomainARN = pDomainARN_- , _edcIndexName = pIndexName_- , _edcTypeName = pTypeName_- , _edcS3Configuration = pS3Configuration_- }---- | The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .-edcIndexRotationPeriod :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchIndexRotationPeriod)-edcIndexRotationPeriod = lens _edcIndexRotationPeriod (\ s a -> s{_edcIndexRotationPeriod = a});---- | Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup Amazon S3 Backup for Amazon Elasticsearch Service Destination> . Default value is FailedDocumentsOnly.-edcS3BackupMode :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchS3BackupMode)-edcS3BackupMode = lens _edcS3BackupMode (\ s a -> s{_edcS3BackupMode = a});---- | Describes CloudWatch logging options for your delivery stream.-edcCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationConfiguration (Maybe CloudWatchLoggingOptions)-edcCloudWatchLoggingOptions = lens _edcCloudWatchLoggingOptions (\ s a -> s{_edcCloudWatchLoggingOptions = a});---- | Buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.-edcBufferingHints :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchBufferingHints)-edcBufferingHints = lens _edcBufferingHints (\ s a -> s{_edcBufferingHints = a});---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).-edcRetryOptions :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchRetryOptions)-edcRetryOptions = lens _edcRetryOptions (\ s a -> s{_edcRetryOptions = a});---- | The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .-edcRoleARN :: Lens' ElasticsearchDestinationConfiguration Text-edcRoleARN = lens _edcRoleARN (\ s a -> s{_edcRoleARN = a});---- | The ARN of the Amazon ES domain. The IAM role must have permission for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming __RoleARN__ .-edcDomainARN :: Lens' ElasticsearchDestinationConfiguration Text-edcDomainARN = lens _edcDomainARN (\ s a -> s{_edcDomainARN = a});---- | The Elasticsearch index name.-edcIndexName :: Lens' ElasticsearchDestinationConfiguration Text-edcIndexName = lens _edcIndexName (\ s a -> s{_edcIndexName = a});---- | The Elasticsearch type name.-edcTypeName :: Lens' ElasticsearchDestinationConfiguration Text-edcTypeName = lens _edcTypeName (\ s a -> s{_edcTypeName = a});---- | Undocumented member.-edcS3Configuration :: Lens' ElasticsearchDestinationConfiguration S3DestinationConfiguration-edcS3Configuration = lens _edcS3Configuration (\ s a -> s{_edcS3Configuration = a});--instance Hashable- ElasticsearchDestinationConfiguration--instance NFData ElasticsearchDestinationConfiguration--instance ToJSON ElasticsearchDestinationConfiguration- where- toJSON ElasticsearchDestinationConfiguration'{..}- = object- (catMaybes- [("IndexRotationPeriod" .=) <$>- _edcIndexRotationPeriod,- ("S3BackupMode" .=) <$> _edcS3BackupMode,- ("CloudWatchLoggingOptions" .=) <$>- _edcCloudWatchLoggingOptions,- ("BufferingHints" .=) <$> _edcBufferingHints,- ("RetryOptions" .=) <$> _edcRetryOptions,- Just ("RoleARN" .= _edcRoleARN),- Just ("DomainARN" .= _edcDomainARN),- Just ("IndexName" .= _edcIndexName),- Just ("TypeName" .= _edcTypeName),- Just ("S3Configuration" .= _edcS3Configuration)])---- | The destination description in Amazon ES.------------ /See:/ 'elasticsearchDestinationDescription' smart constructor.-data ElasticsearchDestinationDescription = ElasticsearchDestinationDescription'- { _eddIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)- , _eddTypeName :: !(Maybe Text)- , _eddS3BackupMode :: !(Maybe ElasticsearchS3BackupMode)- , _eddDomainARN :: !(Maybe Text)- , _eddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _eddS3DestinationDescription :: !(Maybe S3DestinationDescription)- , _eddBufferingHints :: !(Maybe ElasticsearchBufferingHints)- , _eddRetryOptions :: !(Maybe ElasticsearchRetryOptions)- , _eddRoleARN :: !(Maybe Text)- , _eddIndexName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ElasticsearchDestinationDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eddIndexRotationPeriod' - The Elasticsearch index rotation period------ * 'eddTypeName' - The Elasticsearch type name.------ * 'eddS3BackupMode' - Amazon S3 backup mode.------ * 'eddDomainARN' - The ARN of the Amazon ES domain.------ * 'eddCloudWatchLoggingOptions' - CloudWatch logging options.------ * 'eddS3DestinationDescription' - Undocumented member.------ * 'eddBufferingHints' - Buffering options.------ * 'eddRetryOptions' - Elasticsearch retry options.------ * 'eddRoleARN' - The ARN of the AWS credentials.------ * 'eddIndexName' - The Elasticsearch index name.-elasticsearchDestinationDescription- :: ElasticsearchDestinationDescription-elasticsearchDestinationDescription =- ElasticsearchDestinationDescription'- { _eddIndexRotationPeriod = Nothing- , _eddTypeName = Nothing- , _eddS3BackupMode = Nothing- , _eddDomainARN = Nothing- , _eddCloudWatchLoggingOptions = Nothing- , _eddS3DestinationDescription = Nothing- , _eddBufferingHints = Nothing- , _eddRetryOptions = Nothing- , _eddRoleARN = Nothing- , _eddIndexName = Nothing- }---- | The Elasticsearch index rotation period-eddIndexRotationPeriod :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchIndexRotationPeriod)-eddIndexRotationPeriod = lens _eddIndexRotationPeriod (\ s a -> s{_eddIndexRotationPeriod = a});---- | The Elasticsearch type name.-eddTypeName :: Lens' ElasticsearchDestinationDescription (Maybe Text)-eddTypeName = lens _eddTypeName (\ s a -> s{_eddTypeName = a});---- | Amazon S3 backup mode.-eddS3BackupMode :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchS3BackupMode)-eddS3BackupMode = lens _eddS3BackupMode (\ s a -> s{_eddS3BackupMode = a});---- | The ARN of the Amazon ES domain.-eddDomainARN :: Lens' ElasticsearchDestinationDescription (Maybe Text)-eddDomainARN = lens _eddDomainARN (\ s a -> s{_eddDomainARN = a});---- | CloudWatch logging options.-eddCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationDescription (Maybe CloudWatchLoggingOptions)-eddCloudWatchLoggingOptions = lens _eddCloudWatchLoggingOptions (\ s a -> s{_eddCloudWatchLoggingOptions = a});---- | Undocumented member.-eddS3DestinationDescription :: Lens' ElasticsearchDestinationDescription (Maybe S3DestinationDescription)-eddS3DestinationDescription = lens _eddS3DestinationDescription (\ s a -> s{_eddS3DestinationDescription = a});---- | Buffering options.-eddBufferingHints :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchBufferingHints)-eddBufferingHints = lens _eddBufferingHints (\ s a -> s{_eddBufferingHints = a});---- | Elasticsearch retry options.-eddRetryOptions :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchRetryOptions)-eddRetryOptions = lens _eddRetryOptions (\ s a -> s{_eddRetryOptions = a});---- | The ARN of the AWS credentials.-eddRoleARN :: Lens' ElasticsearchDestinationDescription (Maybe Text)-eddRoleARN = lens _eddRoleARN (\ s a -> s{_eddRoleARN = a});---- | The Elasticsearch index name.-eddIndexName :: Lens' ElasticsearchDestinationDescription (Maybe Text)-eddIndexName = lens _eddIndexName (\ s a -> s{_eddIndexName = a});--instance FromJSON ElasticsearchDestinationDescription- where- parseJSON- = withObject "ElasticsearchDestinationDescription"- (\ x ->- ElasticsearchDestinationDescription' <$>- (x .:? "IndexRotationPeriod") <*> (x .:? "TypeName")- <*> (x .:? "S3BackupMode")- <*> (x .:? "DomainARN")- <*> (x .:? "CloudWatchLoggingOptions")- <*> (x .:? "S3DestinationDescription")- <*> (x .:? "BufferingHints")- <*> (x .:? "RetryOptions")- <*> (x .:? "RoleARN")- <*> (x .:? "IndexName"))--instance Hashable ElasticsearchDestinationDescription--instance NFData ElasticsearchDestinationDescription---- | Describes an update for a destination in Amazon ES.------------ /See:/ 'elasticsearchDestinationUpdate' smart constructor.-data ElasticsearchDestinationUpdate = ElasticsearchDestinationUpdate'- { _eduIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)- , _eduTypeName :: !(Maybe Text)- , _eduDomainARN :: !(Maybe Text)- , _eduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _eduS3Update :: !(Maybe S3DestinationUpdate)- , _eduBufferingHints :: !(Maybe ElasticsearchBufferingHints)- , _eduRetryOptions :: !(Maybe ElasticsearchRetryOptions)- , _eduRoleARN :: !(Maybe Text)- , _eduIndexName :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ElasticsearchDestinationUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eduIndexRotationPeriod' - The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .------ * 'eduTypeName' - The Elasticsearch type name.------ * 'eduDomainARN' - The ARN of the Amazon ES domain. The IAM role must have permission for DescribeElasticsearchDomain, DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after assuming __RoleARN__ .------ * 'eduCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'eduS3Update' - Undocumented member.------ * 'eduBufferingHints' - Buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.------ * 'eduRetryOptions' - Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).------ * 'eduRoleARN' - The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .------ * 'eduIndexName' - The Elasticsearch index name.-elasticsearchDestinationUpdate- :: ElasticsearchDestinationUpdate-elasticsearchDestinationUpdate =- ElasticsearchDestinationUpdate'- { _eduIndexRotationPeriod = Nothing- , _eduTypeName = Nothing- , _eduDomainARN = Nothing- , _eduCloudWatchLoggingOptions = Nothing- , _eduS3Update = Nothing- , _eduBufferingHints = Nothing- , _eduRetryOptions = Nothing- , _eduRoleARN = Nothing- , _eduIndexName = Nothing- }---- | The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .-eduIndexRotationPeriod :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchIndexRotationPeriod)-eduIndexRotationPeriod = lens _eduIndexRotationPeriod (\ s a -> s{_eduIndexRotationPeriod = a});---- | The Elasticsearch type name.-eduTypeName :: Lens' ElasticsearchDestinationUpdate (Maybe Text)-eduTypeName = lens _eduTypeName (\ s a -> s{_eduTypeName = a});---- | The ARN of the Amazon ES domain. The IAM role must have permission for DescribeElasticsearchDomain, DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after assuming __RoleARN__ .-eduDomainARN :: Lens' ElasticsearchDestinationUpdate (Maybe Text)-eduDomainARN = lens _eduDomainARN (\ s a -> s{_eduDomainARN = a});---- | Describes CloudWatch logging options for your delivery stream.-eduCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationUpdate (Maybe CloudWatchLoggingOptions)-eduCloudWatchLoggingOptions = lens _eduCloudWatchLoggingOptions (\ s a -> s{_eduCloudWatchLoggingOptions = a});---- | Undocumented member.-eduS3Update :: Lens' ElasticsearchDestinationUpdate (Maybe S3DestinationUpdate)-eduS3Update = lens _eduS3Update (\ s a -> s{_eduS3Update = a});---- | Buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.-eduBufferingHints :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchBufferingHints)-eduBufferingHints = lens _eduBufferingHints (\ s a -> s{_eduBufferingHints = a});---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).-eduRetryOptions :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchRetryOptions)-eduRetryOptions = lens _eduRetryOptions (\ s a -> s{_eduRetryOptions = a});---- | The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .-eduRoleARN :: Lens' ElasticsearchDestinationUpdate (Maybe Text)-eduRoleARN = lens _eduRoleARN (\ s a -> s{_eduRoleARN = a});---- | The Elasticsearch index name.-eduIndexName :: Lens' ElasticsearchDestinationUpdate (Maybe Text)-eduIndexName = lens _eduIndexName (\ s a -> s{_eduIndexName = a});--instance Hashable ElasticsearchDestinationUpdate--instance NFData ElasticsearchDestinationUpdate--instance ToJSON ElasticsearchDestinationUpdate where- toJSON ElasticsearchDestinationUpdate'{..}- = object- (catMaybes- [("IndexRotationPeriod" .=) <$>- _eduIndexRotationPeriod,- ("TypeName" .=) <$> _eduTypeName,- ("DomainARN" .=) <$> _eduDomainARN,- ("CloudWatchLoggingOptions" .=) <$>- _eduCloudWatchLoggingOptions,- ("S3Update" .=) <$> _eduS3Update,- ("BufferingHints" .=) <$> _eduBufferingHints,- ("RetryOptions" .=) <$> _eduRetryOptions,- ("RoleARN" .=) <$> _eduRoleARN,- ("IndexName" .=) <$> _eduIndexName])---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES.------------ /See:/ 'elasticsearchRetryOptions' smart constructor.-newtype ElasticsearchRetryOptions = ElasticsearchRetryOptions'- { _eroDurationInSeconds :: Maybe Nat- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ElasticsearchRetryOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eroDurationInSeconds' - After an initial failure to deliver to Amazon ES, the total amount of time during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.-elasticsearchRetryOptions- :: ElasticsearchRetryOptions-elasticsearchRetryOptions =- ElasticsearchRetryOptions'- { _eroDurationInSeconds = Nothing- }---- | After an initial failure to deliver to Amazon ES, the total amount of time during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.-eroDurationInSeconds :: Lens' ElasticsearchRetryOptions (Maybe Natural)-eroDurationInSeconds = lens _eroDurationInSeconds (\ s a -> s{_eroDurationInSeconds = a}) . mapping _Nat;--instance FromJSON ElasticsearchRetryOptions where- parseJSON- = withObject "ElasticsearchRetryOptions"- (\ x ->- ElasticsearchRetryOptions' <$>- (x .:? "DurationInSeconds"))--instance Hashable ElasticsearchRetryOptions--instance NFData ElasticsearchRetryOptions--instance ToJSON ElasticsearchRetryOptions where- toJSON ElasticsearchRetryOptions'{..}- = object- (catMaybes- [("DurationInSeconds" .=) <$> _eroDurationInSeconds])---- | Describes the encryption for a destination in Amazon S3.------------ /See:/ 'encryptionConfiguration' smart constructor.-data EncryptionConfiguration = EncryptionConfiguration'- { _ecNoEncryptionConfig :: !(Maybe NoEncryptionConfig)- , _ecKMSEncryptionConfig :: !(Maybe KMSEncryptionConfig)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'EncryptionConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ecNoEncryptionConfig' - Specifically override existing encryption information to ensure no encryption is used.------ * 'ecKMSEncryptionConfig' - The encryption key.-encryptionConfiguration- :: EncryptionConfiguration-encryptionConfiguration =- EncryptionConfiguration'- { _ecNoEncryptionConfig = Nothing- , _ecKMSEncryptionConfig = Nothing- }---- | Specifically override existing encryption information to ensure no encryption is used.-ecNoEncryptionConfig :: Lens' EncryptionConfiguration (Maybe NoEncryptionConfig)-ecNoEncryptionConfig = lens _ecNoEncryptionConfig (\ s a -> s{_ecNoEncryptionConfig = a});---- | The encryption key.-ecKMSEncryptionConfig :: Lens' EncryptionConfiguration (Maybe KMSEncryptionConfig)-ecKMSEncryptionConfig = lens _ecKMSEncryptionConfig (\ s a -> s{_ecKMSEncryptionConfig = a});--instance FromJSON EncryptionConfiguration where- parseJSON- = withObject "EncryptionConfiguration"- (\ x ->- EncryptionConfiguration' <$>- (x .:? "NoEncryptionConfig") <*>- (x .:? "KMSEncryptionConfig"))--instance Hashable EncryptionConfiguration--instance NFData EncryptionConfiguration--instance ToJSON EncryptionConfiguration where- toJSON EncryptionConfiguration'{..}- = object- (catMaybes- [("NoEncryptionConfig" .=) <$> _ecNoEncryptionConfig,- ("KMSEncryptionConfig" .=) <$>- _ecKMSEncryptionConfig])---- | Describes an encryption key for a destination in Amazon S3.------------ /See:/ 'kmsEncryptionConfig' smart constructor.-newtype KMSEncryptionConfig = KMSEncryptionConfig'- { _kecAWSKMSKeyARN :: Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'KMSEncryptionConfig' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kecAWSKMSKeyARN' - The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.-kmsEncryptionConfig- :: Text -- ^ 'kecAWSKMSKeyARN'- -> KMSEncryptionConfig-kmsEncryptionConfig pAWSKMSKeyARN_ =- KMSEncryptionConfig'- { _kecAWSKMSKeyARN = pAWSKMSKeyARN_- }---- | The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.-kecAWSKMSKeyARN :: Lens' KMSEncryptionConfig Text-kecAWSKMSKeyARN = lens _kecAWSKMSKeyARN (\ s a -> s{_kecAWSKMSKeyARN = a});--instance FromJSON KMSEncryptionConfig where- parseJSON- = withObject "KMSEncryptionConfig"- (\ x ->- KMSEncryptionConfig' <$> (x .: "AWSKMSKeyARN"))--instance Hashable KMSEncryptionConfig--instance NFData KMSEncryptionConfig--instance ToJSON KMSEncryptionConfig where- toJSON KMSEncryptionConfig'{..}- = object- (catMaybes- [Just ("AWSKMSKeyARN" .= _kecAWSKMSKeyARN)])---- | Contains the result for an individual record from a 'PutRecordBatch' request. If the record is successfully added to your delivery stream, it receives a record ID. If the record fails to be added to your delivery stream, the result includes an error code and an error message.------------ /See:/ 'putRecordBatchResponseEntry' smart constructor.-data PutRecordBatchResponseEntry = PutRecordBatchResponseEntry'- { _prbreRecordId :: !(Maybe Text)- , _prbreErrorCode :: !(Maybe Text)- , _prbreErrorMessage :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PutRecordBatchResponseEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prbreRecordId' - The ID of the record.------ * 'prbreErrorCode' - The error code for an individual record result.------ * 'prbreErrorMessage' - The error message for an individual record result.-putRecordBatchResponseEntry- :: PutRecordBatchResponseEntry-putRecordBatchResponseEntry =- PutRecordBatchResponseEntry'- { _prbreRecordId = Nothing- , _prbreErrorCode = Nothing- , _prbreErrorMessage = Nothing- }---- | The ID of the record.-prbreRecordId :: Lens' PutRecordBatchResponseEntry (Maybe Text)-prbreRecordId = lens _prbreRecordId (\ s a -> s{_prbreRecordId = a});---- | The error code for an individual record result.-prbreErrorCode :: Lens' PutRecordBatchResponseEntry (Maybe Text)-prbreErrorCode = lens _prbreErrorCode (\ s a -> s{_prbreErrorCode = a});---- | The error message for an individual record result.-prbreErrorMessage :: Lens' PutRecordBatchResponseEntry (Maybe Text)-prbreErrorMessage = lens _prbreErrorMessage (\ s a -> s{_prbreErrorMessage = a});--instance FromJSON PutRecordBatchResponseEntry where- parseJSON- = withObject "PutRecordBatchResponseEntry"- (\ x ->- PutRecordBatchResponseEntry' <$>- (x .:? "RecordId") <*> (x .:? "ErrorCode") <*>- (x .:? "ErrorMessage"))--instance Hashable PutRecordBatchResponseEntry--instance NFData PutRecordBatchResponseEntry---- | The unit of data in a delivery stream.------------ /See:/ 'record' smart constructor.-newtype Record = Record'- { _rData :: Base64- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Record' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rData' - The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-record- :: ByteString -- ^ 'rData'- -> Record-record pData_ =- Record'- { _rData = _Base64 # pData_- }---- | The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-rData :: Lens' Record ByteString-rData = lens _rData (\ s a -> s{_rData = a}) . _Base64;--instance Hashable Record--instance NFData Record--instance ToJSON Record where- toJSON Record'{..}- = object (catMaybes [Just ("Data" .= _rData)])---- | Describes the configuration of a destination in Amazon Redshift.------------ /See:/ 'redshiftDestinationConfiguration' smart constructor.-data RedshiftDestinationConfiguration = RedshiftDestinationConfiguration'- { _rdcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _rdcRetryOptions :: !(Maybe RedshiftRetryOptions)- , _rdcRoleARN :: !Text- , _rdcClusterJDBCURL :: !Text- , _rdcCopyCommand :: !CopyCommand- , _rdcUsername :: !(Sensitive Text)- , _rdcPassword :: !(Sensitive Text)- , _rdcS3Configuration :: !S3DestinationConfiguration- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RedshiftDestinationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdcCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'rdcRetryOptions' - Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).------ * 'rdcRoleARN' - The ARN of the AWS credentials.------ * 'rdcClusterJDBCURL' - The database connection string.------ * 'rdcCopyCommand' - The @COPY@ command.------ * 'rdcUsername' - The name of the user.------ * 'rdcPassword' - The user password.------ * 'rdcS3Configuration' - The S3 configuration for the intermediate location from which Amazon Redshift obtains data. Restrictions are described in the topic for 'CreateDeliveryStream' . The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationConfiguration.S3Configuration__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.-redshiftDestinationConfiguration- :: Text -- ^ 'rdcRoleARN'- -> Text -- ^ 'rdcClusterJDBCURL'- -> CopyCommand -- ^ 'rdcCopyCommand'- -> Text -- ^ 'rdcUsername'- -> Text -- ^ 'rdcPassword'- -> S3DestinationConfiguration -- ^ 'rdcS3Configuration'- -> RedshiftDestinationConfiguration-redshiftDestinationConfiguration pRoleARN_ pClusterJDBCURL_ pCopyCommand_ pUsername_ pPassword_ pS3Configuration_ =- RedshiftDestinationConfiguration'- { _rdcCloudWatchLoggingOptions = Nothing- , _rdcRetryOptions = Nothing- , _rdcRoleARN = pRoleARN_- , _rdcClusterJDBCURL = pClusterJDBCURL_- , _rdcCopyCommand = pCopyCommand_- , _rdcUsername = _Sensitive # pUsername_- , _rdcPassword = _Sensitive # pPassword_- , _rdcS3Configuration = pS3Configuration_- }---- | Describes CloudWatch logging options for your delivery stream.-rdcCloudWatchLoggingOptions :: Lens' RedshiftDestinationConfiguration (Maybe CloudWatchLoggingOptions)-rdcCloudWatchLoggingOptions = lens _rdcCloudWatchLoggingOptions (\ s a -> s{_rdcCloudWatchLoggingOptions = a});---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).-rdcRetryOptions :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftRetryOptions)-rdcRetryOptions = lens _rdcRetryOptions (\ s a -> s{_rdcRetryOptions = a});---- | The ARN of the AWS credentials.-rdcRoleARN :: Lens' RedshiftDestinationConfiguration Text-rdcRoleARN = lens _rdcRoleARN (\ s a -> s{_rdcRoleARN = a});---- | The database connection string.-rdcClusterJDBCURL :: Lens' RedshiftDestinationConfiguration Text-rdcClusterJDBCURL = lens _rdcClusterJDBCURL (\ s a -> s{_rdcClusterJDBCURL = a});---- | The @COPY@ command.-rdcCopyCommand :: Lens' RedshiftDestinationConfiguration CopyCommand-rdcCopyCommand = lens _rdcCopyCommand (\ s a -> s{_rdcCopyCommand = a});---- | The name of the user.-rdcUsername :: Lens' RedshiftDestinationConfiguration Text-rdcUsername = lens _rdcUsername (\ s a -> s{_rdcUsername = a}) . _Sensitive;---- | The user password.-rdcPassword :: Lens' RedshiftDestinationConfiguration Text-rdcPassword = lens _rdcPassword (\ s a -> s{_rdcPassword = a}) . _Sensitive;---- | The S3 configuration for the intermediate location from which Amazon Redshift obtains data. Restrictions are described in the topic for 'CreateDeliveryStream' . The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationConfiguration.S3Configuration__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.-rdcS3Configuration :: Lens' RedshiftDestinationConfiguration S3DestinationConfiguration-rdcS3Configuration = lens _rdcS3Configuration (\ s a -> s{_rdcS3Configuration = a});--instance Hashable RedshiftDestinationConfiguration--instance NFData RedshiftDestinationConfiguration--instance ToJSON RedshiftDestinationConfiguration- where- toJSON RedshiftDestinationConfiguration'{..}- = object- (catMaybes- [("CloudWatchLoggingOptions" .=) <$>- _rdcCloudWatchLoggingOptions,- ("RetryOptions" .=) <$> _rdcRetryOptions,- Just ("RoleARN" .= _rdcRoleARN),- Just ("ClusterJDBCURL" .= _rdcClusterJDBCURL),- Just ("CopyCommand" .= _rdcCopyCommand),- Just ("Username" .= _rdcUsername),- Just ("Password" .= _rdcPassword),- Just ("S3Configuration" .= _rdcS3Configuration)])---- | Describes a destination in Amazon Redshift.------------ /See:/ 'redshiftDestinationDescription' smart constructor.-data RedshiftDestinationDescription = RedshiftDestinationDescription'- { _rddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _rddRetryOptions :: !(Maybe RedshiftRetryOptions)- , _rddRoleARN :: !Text- , _rddClusterJDBCURL :: !Text- , _rddCopyCommand :: !CopyCommand- , _rddUsername :: !(Sensitive Text)- , _rddS3DestinationDescription :: !S3DestinationDescription- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RedshiftDestinationDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rddCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'rddRetryOptions' - Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).------ * 'rddRoleARN' - The ARN of the AWS credentials.------ * 'rddClusterJDBCURL' - The database connection string.------ * 'rddCopyCommand' - The @COPY@ command.------ * 'rddUsername' - The name of the user.------ * 'rddS3DestinationDescription' - The Amazon S3 destination.-redshiftDestinationDescription- :: Text -- ^ 'rddRoleARN'- -> Text -- ^ 'rddClusterJDBCURL'- -> CopyCommand -- ^ 'rddCopyCommand'- -> Text -- ^ 'rddUsername'- -> S3DestinationDescription -- ^ 'rddS3DestinationDescription'- -> RedshiftDestinationDescription-redshiftDestinationDescription pRoleARN_ pClusterJDBCURL_ pCopyCommand_ pUsername_ pS3DestinationDescription_ =- RedshiftDestinationDescription'- { _rddCloudWatchLoggingOptions = Nothing- , _rddRetryOptions = Nothing- , _rddRoleARN = pRoleARN_- , _rddClusterJDBCURL = pClusterJDBCURL_- , _rddCopyCommand = pCopyCommand_- , _rddUsername = _Sensitive # pUsername_- , _rddS3DestinationDescription = pS3DestinationDescription_- }---- | Describes CloudWatch logging options for your delivery stream.-rddCloudWatchLoggingOptions :: Lens' RedshiftDestinationDescription (Maybe CloudWatchLoggingOptions)-rddCloudWatchLoggingOptions = lens _rddCloudWatchLoggingOptions (\ s a -> s{_rddCloudWatchLoggingOptions = a});---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).-rddRetryOptions :: Lens' RedshiftDestinationDescription (Maybe RedshiftRetryOptions)-rddRetryOptions = lens _rddRetryOptions (\ s a -> s{_rddRetryOptions = a});---- | The ARN of the AWS credentials.-rddRoleARN :: Lens' RedshiftDestinationDescription Text-rddRoleARN = lens _rddRoleARN (\ s a -> s{_rddRoleARN = a});---- | The database connection string.-rddClusterJDBCURL :: Lens' RedshiftDestinationDescription Text-rddClusterJDBCURL = lens _rddClusterJDBCURL (\ s a -> s{_rddClusterJDBCURL = a});---- | The @COPY@ command.-rddCopyCommand :: Lens' RedshiftDestinationDescription CopyCommand-rddCopyCommand = lens _rddCopyCommand (\ s a -> s{_rddCopyCommand = a});---- | The name of the user.-rddUsername :: Lens' RedshiftDestinationDescription Text-rddUsername = lens _rddUsername (\ s a -> s{_rddUsername = a}) . _Sensitive;---- | The Amazon S3 destination.-rddS3DestinationDescription :: Lens' RedshiftDestinationDescription S3DestinationDescription-rddS3DestinationDescription = lens _rddS3DestinationDescription (\ s a -> s{_rddS3DestinationDescription = a});--instance FromJSON RedshiftDestinationDescription- where- parseJSON- = withObject "RedshiftDestinationDescription"- (\ x ->- RedshiftDestinationDescription' <$>- (x .:? "CloudWatchLoggingOptions") <*>- (x .:? "RetryOptions")- <*> (x .: "RoleARN")- <*> (x .: "ClusterJDBCURL")- <*> (x .: "CopyCommand")- <*> (x .: "Username")- <*> (x .: "S3DestinationDescription"))--instance Hashable RedshiftDestinationDescription--instance NFData RedshiftDestinationDescription---- | Describes an update for a destination in Amazon Redshift.------------ /See:/ 'redshiftDestinationUpdate' smart constructor.-data RedshiftDestinationUpdate = RedshiftDestinationUpdate'- { _rduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _rduUsername :: !(Maybe (Sensitive Text))- , _rduS3Update :: !(Maybe S3DestinationUpdate)- , _rduPassword :: !(Maybe (Sensitive Text))- , _rduCopyCommand :: !(Maybe CopyCommand)- , _rduRetryOptions :: !(Maybe RedshiftRetryOptions)- , _rduClusterJDBCURL :: !(Maybe Text)- , _rduRoleARN :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RedshiftDestinationUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rduCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'rduUsername' - The name of the user.------ * 'rduS3Update' - The Amazon S3 destination. The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationUpdate.S3Update__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.------ * 'rduPassword' - The user password.------ * 'rduCopyCommand' - The @COPY@ command.------ * 'rduRetryOptions' - Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).------ * 'rduClusterJDBCURL' - The database connection string.------ * 'rduRoleARN' - The ARN of the AWS credentials.-redshiftDestinationUpdate- :: RedshiftDestinationUpdate-redshiftDestinationUpdate =- RedshiftDestinationUpdate'- { _rduCloudWatchLoggingOptions = Nothing- , _rduUsername = Nothing- , _rduS3Update = Nothing- , _rduPassword = Nothing- , _rduCopyCommand = Nothing- , _rduRetryOptions = Nothing- , _rduClusterJDBCURL = Nothing- , _rduRoleARN = Nothing- }---- | Describes CloudWatch logging options for your delivery stream.-rduCloudWatchLoggingOptions :: Lens' RedshiftDestinationUpdate (Maybe CloudWatchLoggingOptions)-rduCloudWatchLoggingOptions = lens _rduCloudWatchLoggingOptions (\ s a -> s{_rduCloudWatchLoggingOptions = a});---- | The name of the user.-rduUsername :: Lens' RedshiftDestinationUpdate (Maybe Text)-rduUsername = lens _rduUsername (\ s a -> s{_rduUsername = a}) . mapping _Sensitive;---- | The Amazon S3 destination. The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationUpdate.S3Update__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.-rduS3Update :: Lens' RedshiftDestinationUpdate (Maybe S3DestinationUpdate)-rduS3Update = lens _rduS3Update (\ s a -> s{_rduS3Update = a});---- | The user password.-rduPassword :: Lens' RedshiftDestinationUpdate (Maybe Text)-rduPassword = lens _rduPassword (\ s a -> s{_rduPassword = a}) . mapping _Sensitive;---- | The @COPY@ command.-rduCopyCommand :: Lens' RedshiftDestinationUpdate (Maybe CopyCommand)-rduCopyCommand = lens _rduCopyCommand (\ s a -> s{_rduCopyCommand = a});---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).-rduRetryOptions :: Lens' RedshiftDestinationUpdate (Maybe RedshiftRetryOptions)-rduRetryOptions = lens _rduRetryOptions (\ s a -> s{_rduRetryOptions = a});---- | The database connection string.-rduClusterJDBCURL :: Lens' RedshiftDestinationUpdate (Maybe Text)-rduClusterJDBCURL = lens _rduClusterJDBCURL (\ s a -> s{_rduClusterJDBCURL = a});---- | The ARN of the AWS credentials.-rduRoleARN :: Lens' RedshiftDestinationUpdate (Maybe Text)-rduRoleARN = lens _rduRoleARN (\ s a -> s{_rduRoleARN = a});--instance Hashable RedshiftDestinationUpdate--instance NFData RedshiftDestinationUpdate--instance ToJSON RedshiftDestinationUpdate where- toJSON RedshiftDestinationUpdate'{..}- = object- (catMaybes- [("CloudWatchLoggingOptions" .=) <$>- _rduCloudWatchLoggingOptions,- ("Username" .=) <$> _rduUsername,- ("S3Update" .=) <$> _rduS3Update,- ("Password" .=) <$> _rduPassword,- ("CopyCommand" .=) <$> _rduCopyCommand,- ("RetryOptions" .=) <$> _rduRetryOptions,- ("ClusterJDBCURL" .=) <$> _rduClusterJDBCURL,- ("RoleARN" .=) <$> _rduRoleARN])---- | Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift.------------ /See:/ 'redshiftRetryOptions' smart constructor.-newtype RedshiftRetryOptions = RedshiftRetryOptions'- { _rroDurationInSeconds :: Maybe Nat- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RedshiftRetryOptions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rroDurationInSeconds' - The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of @DurationInSeconds@ is 0 (zero) or if the first delivery attempt takes longer than the current value.-redshiftRetryOptions- :: RedshiftRetryOptions-redshiftRetryOptions =- RedshiftRetryOptions'- { _rroDurationInSeconds = Nothing- }---- | The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of @DurationInSeconds@ is 0 (zero) or if the first delivery attempt takes longer than the current value.-rroDurationInSeconds :: Lens' RedshiftRetryOptions (Maybe Natural)-rroDurationInSeconds = lens _rroDurationInSeconds (\ s a -> s{_rroDurationInSeconds = a}) . mapping _Nat;--instance FromJSON RedshiftRetryOptions where- parseJSON- = withObject "RedshiftRetryOptions"- (\ x ->- RedshiftRetryOptions' <$>- (x .:? "DurationInSeconds"))--instance Hashable RedshiftRetryOptions--instance NFData RedshiftRetryOptions--instance ToJSON RedshiftRetryOptions where- toJSON RedshiftRetryOptions'{..}- = object- (catMaybes- [("DurationInSeconds" .=) <$> _rroDurationInSeconds])---- | Describes the configuration of a destination in Amazon S3.------------ /See:/ 's3DestinationConfiguration' smart constructor.-data S3DestinationConfiguration = S3DestinationConfiguration'- { _sdcPrefix :: !(Maybe Text)- , _sdcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _sdcEncryptionConfiguration :: !(Maybe EncryptionConfiguration)- , _sdcCompressionFormat :: !(Maybe CompressionFormat)- , _sdcBufferingHints :: !(Maybe BufferingHints)- , _sdcRoleARN :: !Text- , _sdcBucketARN :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'S3DestinationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdcPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .------ * 'sdcCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'sdcEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.------ * 'sdcCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.------ * 'sdcBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.------ * 'sdcRoleARN' - The ARN of the AWS credentials.------ * 'sdcBucketARN' - The ARN of the S3 bucket.-s3DestinationConfiguration- :: Text -- ^ 'sdcRoleARN'- -> Text -- ^ 'sdcBucketARN'- -> S3DestinationConfiguration-s3DestinationConfiguration pRoleARN_ pBucketARN_ =- S3DestinationConfiguration'- { _sdcPrefix = Nothing- , _sdcCloudWatchLoggingOptions = Nothing- , _sdcEncryptionConfiguration = Nothing- , _sdcCompressionFormat = Nothing- , _sdcBufferingHints = Nothing- , _sdcRoleARN = pRoleARN_- , _sdcBucketARN = pBucketARN_- }---- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .-sdcPrefix :: Lens' S3DestinationConfiguration (Maybe Text)-sdcPrefix = lens _sdcPrefix (\ s a -> s{_sdcPrefix = a});---- | Describes CloudWatch logging options for your delivery stream.-sdcCloudWatchLoggingOptions :: Lens' S3DestinationConfiguration (Maybe CloudWatchLoggingOptions)-sdcCloudWatchLoggingOptions = lens _sdcCloudWatchLoggingOptions (\ s a -> s{_sdcCloudWatchLoggingOptions = a});---- | The encryption configuration. If no value is specified, the default is no encryption.-sdcEncryptionConfiguration :: Lens' S3DestinationConfiguration (Maybe EncryptionConfiguration)-sdcEncryptionConfiguration = lens _sdcEncryptionConfiguration (\ s a -> s{_sdcEncryptionConfiguration = a});---- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.-sdcCompressionFormat :: Lens' S3DestinationConfiguration (Maybe CompressionFormat)-sdcCompressionFormat = lens _sdcCompressionFormat (\ s a -> s{_sdcCompressionFormat = a});---- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.-sdcBufferingHints :: Lens' S3DestinationConfiguration (Maybe BufferingHints)-sdcBufferingHints = lens _sdcBufferingHints (\ s a -> s{_sdcBufferingHints = a});---- | The ARN of the AWS credentials.-sdcRoleARN :: Lens' S3DestinationConfiguration Text-sdcRoleARN = lens _sdcRoleARN (\ s a -> s{_sdcRoleARN = a});---- | The ARN of the S3 bucket.-sdcBucketARN :: Lens' S3DestinationConfiguration Text-sdcBucketARN = lens _sdcBucketARN (\ s a -> s{_sdcBucketARN = a});--instance Hashable S3DestinationConfiguration--instance NFData S3DestinationConfiguration--instance ToJSON S3DestinationConfiguration where- toJSON S3DestinationConfiguration'{..}- = object- (catMaybes- [("Prefix" .=) <$> _sdcPrefix,- ("CloudWatchLoggingOptions" .=) <$>- _sdcCloudWatchLoggingOptions,- ("EncryptionConfiguration" .=) <$>- _sdcEncryptionConfiguration,- ("CompressionFormat" .=) <$> _sdcCompressionFormat,- ("BufferingHints" .=) <$> _sdcBufferingHints,- Just ("RoleARN" .= _sdcRoleARN),- Just ("BucketARN" .= _sdcBucketARN)])---- | Describes a destination in Amazon S3.------------ /See:/ 's3DestinationDescription' smart constructor.-data S3DestinationDescription = S3DestinationDescription'- { _sddPrefix :: !(Maybe Text)- , _sddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _sddRoleARN :: !Text- , _sddBucketARN :: !Text- , _sddBufferingHints :: !BufferingHints- , _sddCompressionFormat :: !CompressionFormat- , _sddEncryptionConfiguration :: !EncryptionConfiguration- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'S3DestinationDescription' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sddPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .------ * 'sddCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'sddRoleARN' - The ARN of the AWS credentials.------ * 'sddBucketARN' - The ARN of the S3 bucket.------ * 'sddBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.------ * 'sddCompressionFormat' - The compression format. If no value is specified, the default is @NOCOMPRESSION@ .------ * 'sddEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.-s3DestinationDescription- :: Text -- ^ 'sddRoleARN'- -> Text -- ^ 'sddBucketARN'- -> BufferingHints -- ^ 'sddBufferingHints'- -> CompressionFormat -- ^ 'sddCompressionFormat'- -> EncryptionConfiguration -- ^ 'sddEncryptionConfiguration'- -> S3DestinationDescription-s3DestinationDescription pRoleARN_ pBucketARN_ pBufferingHints_ pCompressionFormat_ pEncryptionConfiguration_ =- S3DestinationDescription'- { _sddPrefix = Nothing- , _sddCloudWatchLoggingOptions = Nothing- , _sddRoleARN = pRoleARN_- , _sddBucketARN = pBucketARN_- , _sddBufferingHints = pBufferingHints_- , _sddCompressionFormat = pCompressionFormat_- , _sddEncryptionConfiguration = pEncryptionConfiguration_- }---- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .-sddPrefix :: Lens' S3DestinationDescription (Maybe Text)-sddPrefix = lens _sddPrefix (\ s a -> s{_sddPrefix = a});---- | Describes CloudWatch logging options for your delivery stream.-sddCloudWatchLoggingOptions :: Lens' S3DestinationDescription (Maybe CloudWatchLoggingOptions)-sddCloudWatchLoggingOptions = lens _sddCloudWatchLoggingOptions (\ s a -> s{_sddCloudWatchLoggingOptions = a});---- | The ARN of the AWS credentials.-sddRoleARN :: Lens' S3DestinationDescription Text-sddRoleARN = lens _sddRoleARN (\ s a -> s{_sddRoleARN = a});---- | The ARN of the S3 bucket.-sddBucketARN :: Lens' S3DestinationDescription Text-sddBucketARN = lens _sddBucketARN (\ s a -> s{_sddBucketARN = a});---- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.-sddBufferingHints :: Lens' S3DestinationDescription BufferingHints-sddBufferingHints = lens _sddBufferingHints (\ s a -> s{_sddBufferingHints = a});---- | The compression format. If no value is specified, the default is @NOCOMPRESSION@ .-sddCompressionFormat :: Lens' S3DestinationDescription CompressionFormat-sddCompressionFormat = lens _sddCompressionFormat (\ s a -> s{_sddCompressionFormat = a});---- | The encryption configuration. If no value is specified, the default is no encryption.-sddEncryptionConfiguration :: Lens' S3DestinationDescription EncryptionConfiguration-sddEncryptionConfiguration = lens _sddEncryptionConfiguration (\ s a -> s{_sddEncryptionConfiguration = a});--instance FromJSON S3DestinationDescription where- parseJSON- = withObject "S3DestinationDescription"- (\ x ->- S3DestinationDescription' <$>- (x .:? "Prefix") <*>- (x .:? "CloudWatchLoggingOptions")- <*> (x .: "RoleARN")- <*> (x .: "BucketARN")- <*> (x .: "BufferingHints")- <*> (x .: "CompressionFormat")- <*> (x .: "EncryptionConfiguration"))--instance Hashable S3DestinationDescription--instance NFData S3DestinationDescription---- | Describes an update for a destination in Amazon S3.------------ /See:/ 's3DestinationUpdate' smart constructor.-data S3DestinationUpdate = S3DestinationUpdate'- { _sduPrefix :: !(Maybe Text)- , _sduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)- , _sduEncryptionConfiguration :: !(Maybe EncryptionConfiguration)- , _sduCompressionFormat :: !(Maybe CompressionFormat)- , _sduBufferingHints :: !(Maybe BufferingHints)- , _sduBucketARN :: !(Maybe Text)- , _sduRoleARN :: !(Maybe Text)- } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'S3DestinationUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sduPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .------ * 'sduCloudWatchLoggingOptions' - Describes CloudWatch logging options for your delivery stream.------ * 'sduEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.------ * 'sduCompressionFormat' - The compression format. If no value is specified, the default is @NOCOMPRESSION@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.------ * 'sduBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.------ * 'sduBucketARN' - The ARN of the S3 bucket.------ * 'sduRoleARN' - The ARN of the AWS credentials.-s3DestinationUpdate- :: S3DestinationUpdate-s3DestinationUpdate =- S3DestinationUpdate'- { _sduPrefix = Nothing- , _sduCloudWatchLoggingOptions = Nothing- , _sduEncryptionConfiguration = Nothing- , _sduCompressionFormat = Nothing- , _sduBufferingHints = Nothing- , _sduBucketARN = Nothing- , _sduRoleARN = Nothing- }---- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the <http://docs.aws.amazon.com/firehose/latest/dev/ Amazon Kinesis Firehose Developer Guide> .-sduPrefix :: Lens' S3DestinationUpdate (Maybe Text)-sduPrefix = lens _sduPrefix (\ s a -> s{_sduPrefix = a});---- | Describes CloudWatch logging options for your delivery stream.-sduCloudWatchLoggingOptions :: Lens' S3DestinationUpdate (Maybe CloudWatchLoggingOptions)-sduCloudWatchLoggingOptions = lens _sduCloudWatchLoggingOptions (\ s a -> s{_sduCloudWatchLoggingOptions = a});---- | The encryption configuration. If no value is specified, the default is no encryption.-sduEncryptionConfiguration :: Lens' S3DestinationUpdate (Maybe EncryptionConfiguration)-sduEncryptionConfiguration = lens _sduEncryptionConfiguration (\ s a -> s{_sduEncryptionConfiguration = a});---- | The compression format. If no value is specified, the default is @NOCOMPRESSION@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.-sduCompressionFormat :: Lens' S3DestinationUpdate (Maybe CompressionFormat)-sduCompressionFormat = lens _sduCompressionFormat (\ s a -> s{_sduCompressionFormat = a});---- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.-sduBufferingHints :: Lens' S3DestinationUpdate (Maybe BufferingHints)-sduBufferingHints = lens _sduBufferingHints (\ s a -> s{_sduBufferingHints = a});---- | The ARN of the S3 bucket.-sduBucketARN :: Lens' S3DestinationUpdate (Maybe Text)-sduBucketARN = lens _sduBucketARN (\ s a -> s{_sduBucketARN = a});---- | The ARN of the AWS credentials.-sduRoleARN :: Lens' S3DestinationUpdate (Maybe Text)-sduRoleARN = lens _sduRoleARN (\ s a -> s{_sduRoleARN = a});--instance Hashable S3DestinationUpdate--instance NFData S3DestinationUpdate--instance ToJSON S3DestinationUpdate where- toJSON S3DestinationUpdate'{..}- = object- (catMaybes- [("Prefix" .=) <$> _sduPrefix,- ("CloudWatchLoggingOptions" .=) <$>- _sduCloudWatchLoggingOptions,- ("EncryptionConfiguration" .=) <$>- _sduEncryptionConfiguration,- ("CompressionFormat" .=) <$> _sduCompressionFormat,- ("BufferingHints" .=) <$> _sduBufferingHints,- ("BucketARN" .=) <$> _sduBucketARN,- ("RoleARN" .=) <$> _sduRoleARN])+-- Copyright : (c) 2013-2017 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Firehose.Types.Product where++import Network.AWS.Firehose.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Kinesis Firehose may choose to use different values when it is optimal.+--+--+--+-- /See:/ 'bufferingHints' smart constructor.+data BufferingHints = BufferingHints'+ { _bhSizeInMBs :: !(Maybe Nat)+ , _bhIntervalInSeconds :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BufferingHints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bhSizeInMBs' - Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.+--+-- * 'bhIntervalInSeconds' - Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.+bufferingHints+ :: BufferingHints+bufferingHints =+ BufferingHints' {_bhSizeInMBs = Nothing, _bhIntervalInSeconds = Nothing}+++-- | Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.+bhSizeInMBs :: Lens' BufferingHints (Maybe Natural)+bhSizeInMBs = lens _bhSizeInMBs (\ s a -> s{_bhSizeInMBs = a}) . mapping _Nat;++-- | Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.+bhIntervalInSeconds :: Lens' BufferingHints (Maybe Natural)+bhIntervalInSeconds = lens _bhIntervalInSeconds (\ s a -> s{_bhIntervalInSeconds = a}) . mapping _Nat;++instance FromJSON BufferingHints where+ parseJSON+ = withObject "BufferingHints"+ (\ x ->+ BufferingHints' <$>+ (x .:? "SizeInMBs") <*> (x .:? "IntervalInSeconds"))++instance Hashable BufferingHints where++instance NFData BufferingHints where++instance ToJSON BufferingHints where+ toJSON BufferingHints'{..}+ = object+ (catMaybes+ [("SizeInMBs" .=) <$> _bhSizeInMBs,+ ("IntervalInSeconds" .=) <$> _bhIntervalInSeconds])++-- | Describes the Amazon CloudWatch logging options for your delivery stream.+--+--+--+-- /See:/ 'cloudWatchLoggingOptions' smart constructor.+data CloudWatchLoggingOptions = CloudWatchLoggingOptions'+ { _cwloEnabled :: !(Maybe Bool)+ , _cwloLogGroupName :: !(Maybe Text)+ , _cwloLogStreamName :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CloudWatchLoggingOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cwloEnabled' - Enables or disables CloudWatch logging.+--+-- * 'cwloLogGroupName' - The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled.+--+-- * 'cwloLogStreamName' - The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled.+cloudWatchLoggingOptions+ :: CloudWatchLoggingOptions+cloudWatchLoggingOptions =+ CloudWatchLoggingOptions'+ { _cwloEnabled = Nothing+ , _cwloLogGroupName = Nothing+ , _cwloLogStreamName = Nothing+ }+++-- | Enables or disables CloudWatch logging.+cwloEnabled :: Lens' CloudWatchLoggingOptions (Maybe Bool)+cwloEnabled = lens _cwloEnabled (\ s a -> s{_cwloEnabled = a});++-- | The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled.+cwloLogGroupName :: Lens' CloudWatchLoggingOptions (Maybe Text)+cwloLogGroupName = lens _cwloLogGroupName (\ s a -> s{_cwloLogGroupName = a});++-- | The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled.+cwloLogStreamName :: Lens' CloudWatchLoggingOptions (Maybe Text)+cwloLogStreamName = lens _cwloLogStreamName (\ s a -> s{_cwloLogStreamName = a});++instance FromJSON CloudWatchLoggingOptions where+ parseJSON+ = withObject "CloudWatchLoggingOptions"+ (\ x ->+ CloudWatchLoggingOptions' <$>+ (x .:? "Enabled") <*> (x .:? "LogGroupName") <*>+ (x .:? "LogStreamName"))++instance Hashable CloudWatchLoggingOptions where++instance NFData CloudWatchLoggingOptions where++instance ToJSON CloudWatchLoggingOptions where+ toJSON CloudWatchLoggingOptions'{..}+ = object+ (catMaybes+ [("Enabled" .=) <$> _cwloEnabled,+ ("LogGroupName" .=) <$> _cwloLogGroupName,+ ("LogStreamName" .=) <$> _cwloLogStreamName])++-- | Describes a @COPY@ command for Amazon Redshift.+--+--+--+-- /See:/ 'copyCommand' smart constructor.+data CopyCommand = CopyCommand'+ { _ccCopyOptions :: !(Maybe Text)+ , _ccDataTableColumns :: !(Maybe Text)+ , _ccDataTableName :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CopyCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccCopyOptions' - Optional parameters to use with the Amazon Redshift @COPY@ command. For more information, see the "Optional Parameters" section of <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html Amazon Redshift COPY command> . Some possible examples that would apply to Kinesis Firehose are as follows: @delimiter '\t' lzop;@ - fields are delimited with "\t" (TAB character) and compressed using lzop. @delimiter '|'@ - fields are delimited with "|" (this is the default delimiter). @delimiter '|' escape@ - the delimiter should be escaped. @fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'@ - fields are fixed width in the source, with each width specified after every column in the table. @JSON 's3://mybucket/jsonpaths.txt'@ - data is in JSON format, and the path specified is the format of the data. For more examples, see <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html Amazon Redshift COPY command examples> .+--+-- * 'ccDataTableColumns' - A comma-separated list of column names.+--+-- * 'ccDataTableName' - The name of the target table. The table must already exist in the database.+copyCommand+ :: Text -- ^ 'ccDataTableName'+ -> CopyCommand+copyCommand pDataTableName_ =+ CopyCommand'+ { _ccCopyOptions = Nothing+ , _ccDataTableColumns = Nothing+ , _ccDataTableName = pDataTableName_+ }+++-- | Optional parameters to use with the Amazon Redshift @COPY@ command. For more information, see the "Optional Parameters" section of <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html Amazon Redshift COPY command> . Some possible examples that would apply to Kinesis Firehose are as follows: @delimiter '\t' lzop;@ - fields are delimited with "\t" (TAB character) and compressed using lzop. @delimiter '|'@ - fields are delimited with "|" (this is the default delimiter). @delimiter '|' escape@ - the delimiter should be escaped. @fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'@ - fields are fixed width in the source, with each width specified after every column in the table. @JSON 's3://mybucket/jsonpaths.txt'@ - data is in JSON format, and the path specified is the format of the data. For more examples, see <http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html Amazon Redshift COPY command examples> .+ccCopyOptions :: Lens' CopyCommand (Maybe Text)+ccCopyOptions = lens _ccCopyOptions (\ s a -> s{_ccCopyOptions = a});++-- | A comma-separated list of column names.+ccDataTableColumns :: Lens' CopyCommand (Maybe Text)+ccDataTableColumns = lens _ccDataTableColumns (\ s a -> s{_ccDataTableColumns = a});++-- | The name of the target table. The table must already exist in the database.+ccDataTableName :: Lens' CopyCommand Text+ccDataTableName = lens _ccDataTableName (\ s a -> s{_ccDataTableName = a});++instance FromJSON CopyCommand where+ parseJSON+ = withObject "CopyCommand"+ (\ x ->+ CopyCommand' <$>+ (x .:? "CopyOptions") <*> (x .:? "DataTableColumns")+ <*> (x .: "DataTableName"))++instance Hashable CopyCommand where++instance NFData CopyCommand where++instance ToJSON CopyCommand where+ toJSON CopyCommand'{..}+ = object+ (catMaybes+ [("CopyOptions" .=) <$> _ccCopyOptions,+ ("DataTableColumns" .=) <$> _ccDataTableColumns,+ Just ("DataTableName" .= _ccDataTableName)])++-- | Contains information about a delivery stream.+--+--+--+-- /See:/ 'deliveryStreamDescription' smart constructor.+data DeliveryStreamDescription = DeliveryStreamDescription'+ { _dsdCreateTimestamp :: !(Maybe POSIX)+ , _dsdSource :: !(Maybe SourceDescription)+ , _dsdLastUpdateTimestamp :: !(Maybe POSIX)+ , _dsdDeliveryStreamName :: !Text+ , _dsdDeliveryStreamARN :: !Text+ , _dsdDeliveryStreamStatus :: !DeliveryStreamStatus+ , _dsdDeliveryStreamType :: !DeliveryStreamType+ , _dsdVersionId :: !Text+ , _dsdDestinations :: ![DestinationDescription]+ , _dsdHasMoreDestinations :: !Bool+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeliveryStreamDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsdCreateTimestamp' - The date and time that the delivery stream was created.+--+-- * 'dsdSource' - If the @DeliveryStreamType@ parameter is @KinesisStreamAsSource@ , a 'SourceDescription' object describing the source Kinesis stream.+--+-- * 'dsdLastUpdateTimestamp' - The date and time that the delivery stream was last updated.+--+-- * 'dsdDeliveryStreamName' - The name of the delivery stream.+--+-- * 'dsdDeliveryStreamARN' - The Amazon Resource Name (ARN) of the delivery stream.+--+-- * 'dsdDeliveryStreamStatus' - The status of the delivery stream.+--+-- * 'dsdDeliveryStreamType' - The delivery stream type. This can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source.+--+-- * 'dsdVersionId' - Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.+--+-- * 'dsdDestinations' - The destinations.+--+-- * 'dsdHasMoreDestinations' - Indicates whether there are more destinations available to list.+deliveryStreamDescription+ :: Text -- ^ 'dsdDeliveryStreamName'+ -> Text -- ^ 'dsdDeliveryStreamARN'+ -> DeliveryStreamStatus -- ^ 'dsdDeliveryStreamStatus'+ -> DeliveryStreamType -- ^ 'dsdDeliveryStreamType'+ -> Text -- ^ 'dsdVersionId'+ -> Bool -- ^ 'dsdHasMoreDestinations'+ -> DeliveryStreamDescription+deliveryStreamDescription pDeliveryStreamName_ pDeliveryStreamARN_ pDeliveryStreamStatus_ pDeliveryStreamType_ pVersionId_ pHasMoreDestinations_ =+ DeliveryStreamDescription'+ { _dsdCreateTimestamp = Nothing+ , _dsdSource = Nothing+ , _dsdLastUpdateTimestamp = Nothing+ , _dsdDeliveryStreamName = pDeliveryStreamName_+ , _dsdDeliveryStreamARN = pDeliveryStreamARN_+ , _dsdDeliveryStreamStatus = pDeliveryStreamStatus_+ , _dsdDeliveryStreamType = pDeliveryStreamType_+ , _dsdVersionId = pVersionId_+ , _dsdDestinations = mempty+ , _dsdHasMoreDestinations = pHasMoreDestinations_+ }+++-- | The date and time that the delivery stream was created.+dsdCreateTimestamp :: Lens' DeliveryStreamDescription (Maybe UTCTime)+dsdCreateTimestamp = lens _dsdCreateTimestamp (\ s a -> s{_dsdCreateTimestamp = a}) . mapping _Time;++-- | If the @DeliveryStreamType@ parameter is @KinesisStreamAsSource@ , a 'SourceDescription' object describing the source Kinesis stream.+dsdSource :: Lens' DeliveryStreamDescription (Maybe SourceDescription)+dsdSource = lens _dsdSource (\ s a -> s{_dsdSource = a});++-- | The date and time that the delivery stream was last updated.+dsdLastUpdateTimestamp :: Lens' DeliveryStreamDescription (Maybe UTCTime)+dsdLastUpdateTimestamp = lens _dsdLastUpdateTimestamp (\ s a -> s{_dsdLastUpdateTimestamp = a}) . mapping _Time;++-- | The name of the delivery stream.+dsdDeliveryStreamName :: Lens' DeliveryStreamDescription Text+dsdDeliveryStreamName = lens _dsdDeliveryStreamName (\ s a -> s{_dsdDeliveryStreamName = a});++-- | The Amazon Resource Name (ARN) of the delivery stream.+dsdDeliveryStreamARN :: Lens' DeliveryStreamDescription Text+dsdDeliveryStreamARN = lens _dsdDeliveryStreamARN (\ s a -> s{_dsdDeliveryStreamARN = a});++-- | The status of the delivery stream.+dsdDeliveryStreamStatus :: Lens' DeliveryStreamDescription DeliveryStreamStatus+dsdDeliveryStreamStatus = lens _dsdDeliveryStreamStatus (\ s a -> s{_dsdDeliveryStreamStatus = a});++-- | The delivery stream type. This can be one of the following values: * @DirectPut@ : Provider applications access the delivery stream directly. * @KinesisStreamAsSource@ : The delivery stream uses a Kinesis stream as a source.+dsdDeliveryStreamType :: Lens' DeliveryStreamDescription DeliveryStreamType+dsdDeliveryStreamType = lens _dsdDeliveryStreamType (\ s a -> s{_dsdDeliveryStreamType = a});++-- | Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.+dsdVersionId :: Lens' DeliveryStreamDescription Text+dsdVersionId = lens _dsdVersionId (\ s a -> s{_dsdVersionId = a});++-- | The destinations.+dsdDestinations :: Lens' DeliveryStreamDescription [DestinationDescription]+dsdDestinations = lens _dsdDestinations (\ s a -> s{_dsdDestinations = a}) . _Coerce;++-- | Indicates whether there are more destinations available to list.+dsdHasMoreDestinations :: Lens' DeliveryStreamDescription Bool+dsdHasMoreDestinations = lens _dsdHasMoreDestinations (\ s a -> s{_dsdHasMoreDestinations = a});++instance FromJSON DeliveryStreamDescription where+ parseJSON+ = withObject "DeliveryStreamDescription"+ (\ x ->+ DeliveryStreamDescription' <$>+ (x .:? "CreateTimestamp") <*> (x .:? "Source") <*>+ (x .:? "LastUpdateTimestamp")+ <*> (x .: "DeliveryStreamName")+ <*> (x .: "DeliveryStreamARN")+ <*> (x .: "DeliveryStreamStatus")+ <*> (x .: "DeliveryStreamType")+ <*> (x .: "VersionId")+ <*> (x .:? "Destinations" .!= mempty)+ <*> (x .: "HasMoreDestinations"))++instance Hashable DeliveryStreamDescription where++instance NFData DeliveryStreamDescription where++-- | Describes the destination for a delivery stream.+--+--+--+-- /See:/ 'destinationDescription' smart constructor.+data DestinationDescription = DestinationDescription'+ { _ddS3DestinationDescription :: !(Maybe S3DestinationDescription)+ , _ddExtendedS3DestinationDescription :: !(Maybe ExtendedS3DestinationDescription)+ , _ddElasticsearchDestinationDescription :: !(Maybe ElasticsearchDestinationDescription)+ , _ddRedshiftDestinationDescription :: !(Maybe RedshiftDestinationDescription)+ , _ddDestinationId :: !Text+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DestinationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddS3DestinationDescription' - [Deprecated] The destination in Amazon S3.+--+-- * 'ddExtendedS3DestinationDescription' - The destination in Amazon S3.+--+-- * 'ddElasticsearchDestinationDescription' - The destination in Amazon ES.+--+-- * 'ddRedshiftDestinationDescription' - The destination in Amazon Redshift.+--+-- * 'ddDestinationId' - The ID of the destination.+destinationDescription+ :: Text -- ^ 'ddDestinationId'+ -> DestinationDescription+destinationDescription pDestinationId_ =+ DestinationDescription'+ { _ddS3DestinationDescription = Nothing+ , _ddExtendedS3DestinationDescription = Nothing+ , _ddElasticsearchDestinationDescription = Nothing+ , _ddRedshiftDestinationDescription = Nothing+ , _ddDestinationId = pDestinationId_+ }+++-- | [Deprecated] The destination in Amazon S3.+ddS3DestinationDescription :: Lens' DestinationDescription (Maybe S3DestinationDescription)+ddS3DestinationDescription = lens _ddS3DestinationDescription (\ s a -> s{_ddS3DestinationDescription = a});++-- | The destination in Amazon S3.+ddExtendedS3DestinationDescription :: Lens' DestinationDescription (Maybe ExtendedS3DestinationDescription)+ddExtendedS3DestinationDescription = lens _ddExtendedS3DestinationDescription (\ s a -> s{_ddExtendedS3DestinationDescription = a});++-- | The destination in Amazon ES.+ddElasticsearchDestinationDescription :: Lens' DestinationDescription (Maybe ElasticsearchDestinationDescription)+ddElasticsearchDestinationDescription = lens _ddElasticsearchDestinationDescription (\ s a -> s{_ddElasticsearchDestinationDescription = a});++-- | The destination in Amazon Redshift.+ddRedshiftDestinationDescription :: Lens' DestinationDescription (Maybe RedshiftDestinationDescription)+ddRedshiftDestinationDescription = lens _ddRedshiftDestinationDescription (\ s a -> s{_ddRedshiftDestinationDescription = a});++-- | The ID of the destination.+ddDestinationId :: Lens' DestinationDescription Text+ddDestinationId = lens _ddDestinationId (\ s a -> s{_ddDestinationId = a});++instance FromJSON DestinationDescription where+ parseJSON+ = withObject "DestinationDescription"+ (\ x ->+ DestinationDescription' <$>+ (x .:? "S3DestinationDescription") <*>+ (x .:? "ExtendedS3DestinationDescription")+ <*> (x .:? "ElasticsearchDestinationDescription")+ <*> (x .:? "RedshiftDestinationDescription")+ <*> (x .: "DestinationId"))++instance Hashable DestinationDescription where++instance NFData DestinationDescription where++-- | Describes the buffering to perform before delivering data to the Amazon ES destination.+--+--+--+-- /See:/ 'elasticsearchBufferingHints' smart constructor.+data ElasticsearchBufferingHints = ElasticsearchBufferingHints'+ { _ebhSizeInMBs :: !(Maybe Nat)+ , _ebhIntervalInSeconds :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticsearchBufferingHints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebhSizeInMBs' - Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.+--+-- * 'ebhIntervalInSeconds' - Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).+elasticsearchBufferingHints+ :: ElasticsearchBufferingHints+elasticsearchBufferingHints =+ ElasticsearchBufferingHints'+ {_ebhSizeInMBs = Nothing, _ebhIntervalInSeconds = Nothing}+++-- | Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.+ebhSizeInMBs :: Lens' ElasticsearchBufferingHints (Maybe Natural)+ebhSizeInMBs = lens _ebhSizeInMBs (\ s a -> s{_ebhSizeInMBs = a}) . mapping _Nat;++-- | Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).+ebhIntervalInSeconds :: Lens' ElasticsearchBufferingHints (Maybe Natural)+ebhIntervalInSeconds = lens _ebhIntervalInSeconds (\ s a -> s{_ebhIntervalInSeconds = a}) . mapping _Nat;++instance FromJSON ElasticsearchBufferingHints where+ parseJSON+ = withObject "ElasticsearchBufferingHints"+ (\ x ->+ ElasticsearchBufferingHints' <$>+ (x .:? "SizeInMBs") <*> (x .:? "IntervalInSeconds"))++instance Hashable ElasticsearchBufferingHints where++instance NFData ElasticsearchBufferingHints where++instance ToJSON ElasticsearchBufferingHints where+ toJSON ElasticsearchBufferingHints'{..}+ = object+ (catMaybes+ [("SizeInMBs" .=) <$> _ebhSizeInMBs,+ ("IntervalInSeconds" .=) <$> _ebhIntervalInSeconds])++-- | Describes the configuration of a destination in Amazon ES.+--+--+--+-- /See:/ 'elasticsearchDestinationConfiguration' smart constructor.+data ElasticsearchDestinationConfiguration = ElasticsearchDestinationConfiguration'+ { _edcIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)+ , _edcS3BackupMode :: !(Maybe ElasticsearchS3BackupMode)+ , _edcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _edcBufferingHints :: !(Maybe ElasticsearchBufferingHints)+ , _edcRetryOptions :: !(Maybe ElasticsearchRetryOptions)+ , _edcProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _edcRoleARN :: !Text+ , _edcDomainARN :: !Text+ , _edcIndexName :: !Text+ , _edcTypeName :: !Text+ , _edcS3Configuration :: !S3DestinationConfiguration+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticsearchDestinationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edcIndexRotationPeriod' - The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . The default value is @OneDay@ .+--+-- * 'edcS3BackupMode' - Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup Amazon S3 Backup for Amazon Elasticsearch Service Destination> . Default value is FailedDocumentsOnly.+--+-- * 'edcCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'edcBufferingHints' - The buffering options. If no value is specified, the default values for __ElasticsearchBufferingHints__ are used.+--+-- * 'edcRetryOptions' - The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).+--+-- * 'edcProcessingConfiguration' - The data processing configuration.+--+-- * 'edcRoleARN' - The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .+--+-- * 'edcDomainARN' - The ARN of the Amazon ES domain. The IAM role must have permissions for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming the role specified in __RoleARN__ .+--+-- * 'edcIndexName' - The Elasticsearch index name.+--+-- * 'edcTypeName' - The Elasticsearch type name.+--+-- * 'edcS3Configuration' - The configuration for the backup Amazon S3 location.+elasticsearchDestinationConfiguration+ :: Text -- ^ 'edcRoleARN'+ -> Text -- ^ 'edcDomainARN'+ -> Text -- ^ 'edcIndexName'+ -> Text -- ^ 'edcTypeName'+ -> S3DestinationConfiguration -- ^ 'edcS3Configuration'+ -> ElasticsearchDestinationConfiguration+elasticsearchDestinationConfiguration pRoleARN_ pDomainARN_ pIndexName_ pTypeName_ pS3Configuration_ =+ ElasticsearchDestinationConfiguration'+ { _edcIndexRotationPeriod = Nothing+ , _edcS3BackupMode = Nothing+ , _edcCloudWatchLoggingOptions = Nothing+ , _edcBufferingHints = Nothing+ , _edcRetryOptions = Nothing+ , _edcProcessingConfiguration = Nothing+ , _edcRoleARN = pRoleARN_+ , _edcDomainARN = pDomainARN_+ , _edcIndexName = pIndexName_+ , _edcTypeName = pTypeName_+ , _edcS3Configuration = pS3Configuration_+ }+++-- | The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . The default value is @OneDay@ .+edcIndexRotationPeriod :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchIndexRotationPeriod)+edcIndexRotationPeriod = lens _edcIndexRotationPeriod (\ s a -> s{_edcIndexRotationPeriod = a});++-- | Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup Amazon S3 Backup for Amazon Elasticsearch Service Destination> . Default value is FailedDocumentsOnly.+edcS3BackupMode :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchS3BackupMode)+edcS3BackupMode = lens _edcS3BackupMode (\ s a -> s{_edcS3BackupMode = a});++-- | The CloudWatch logging options for your delivery stream.+edcCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationConfiguration (Maybe CloudWatchLoggingOptions)+edcCloudWatchLoggingOptions = lens _edcCloudWatchLoggingOptions (\ s a -> s{_edcCloudWatchLoggingOptions = a});++-- | The buffering options. If no value is specified, the default values for __ElasticsearchBufferingHints__ are used.+edcBufferingHints :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchBufferingHints)+edcBufferingHints = lens _edcBufferingHints (\ s a -> s{_edcBufferingHints = a});++-- | The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).+edcRetryOptions :: Lens' ElasticsearchDestinationConfiguration (Maybe ElasticsearchRetryOptions)+edcRetryOptions = lens _edcRetryOptions (\ s a -> s{_edcRetryOptions = a});++-- | The data processing configuration.+edcProcessingConfiguration :: Lens' ElasticsearchDestinationConfiguration (Maybe ProcessingConfiguration)+edcProcessingConfiguration = lens _edcProcessingConfiguration (\ s a -> s{_edcProcessingConfiguration = a});++-- | The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .+edcRoleARN :: Lens' ElasticsearchDestinationConfiguration Text+edcRoleARN = lens _edcRoleARN (\ s a -> s{_edcRoleARN = a});++-- | The ARN of the Amazon ES domain. The IAM role must have permissions for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming the role specified in __RoleARN__ .+edcDomainARN :: Lens' ElasticsearchDestinationConfiguration Text+edcDomainARN = lens _edcDomainARN (\ s a -> s{_edcDomainARN = a});++-- | The Elasticsearch index name.+edcIndexName :: Lens' ElasticsearchDestinationConfiguration Text+edcIndexName = lens _edcIndexName (\ s a -> s{_edcIndexName = a});++-- | The Elasticsearch type name.+edcTypeName :: Lens' ElasticsearchDestinationConfiguration Text+edcTypeName = lens _edcTypeName (\ s a -> s{_edcTypeName = a});++-- | The configuration for the backup Amazon S3 location.+edcS3Configuration :: Lens' ElasticsearchDestinationConfiguration S3DestinationConfiguration+edcS3Configuration = lens _edcS3Configuration (\ s a -> s{_edcS3Configuration = a});++instance Hashable+ ElasticsearchDestinationConfiguration+ where++instance NFData ElasticsearchDestinationConfiguration+ where++instance ToJSON ElasticsearchDestinationConfiguration+ where+ toJSON ElasticsearchDestinationConfiguration'{..}+ = object+ (catMaybes+ [("IndexRotationPeriod" .=) <$>+ _edcIndexRotationPeriod,+ ("S3BackupMode" .=) <$> _edcS3BackupMode,+ ("CloudWatchLoggingOptions" .=) <$>+ _edcCloudWatchLoggingOptions,+ ("BufferingHints" .=) <$> _edcBufferingHints,+ ("RetryOptions" .=) <$> _edcRetryOptions,+ ("ProcessingConfiguration" .=) <$>+ _edcProcessingConfiguration,+ Just ("RoleARN" .= _edcRoleARN),+ Just ("DomainARN" .= _edcDomainARN),+ Just ("IndexName" .= _edcIndexName),+ Just ("TypeName" .= _edcTypeName),+ Just ("S3Configuration" .= _edcS3Configuration)])++-- | The destination description in Amazon ES.+--+--+--+-- /See:/ 'elasticsearchDestinationDescription' smart constructor.+data ElasticsearchDestinationDescription = ElasticsearchDestinationDescription'+ { _eddIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)+ , _eddTypeName :: !(Maybe Text)+ , _eddS3BackupMode :: !(Maybe ElasticsearchS3BackupMode)+ , _eddDomainARN :: !(Maybe Text)+ , _eddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _eddS3DestinationDescription :: !(Maybe S3DestinationDescription)+ , _eddBufferingHints :: !(Maybe ElasticsearchBufferingHints)+ , _eddRetryOptions :: !(Maybe ElasticsearchRetryOptions)+ , _eddProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _eddRoleARN :: !(Maybe Text)+ , _eddIndexName :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticsearchDestinationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eddIndexRotationPeriod' - The Elasticsearch index rotation period+--+-- * 'eddTypeName' - The Elasticsearch type name.+--+-- * 'eddS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'eddDomainARN' - The ARN of the Amazon ES domain.+--+-- * 'eddCloudWatchLoggingOptions' - The CloudWatch logging options.+--+-- * 'eddS3DestinationDescription' - The Amazon S3 destination.+--+-- * 'eddBufferingHints' - The buffering options.+--+-- * 'eddRetryOptions' - The Amazon ES retry options.+--+-- * 'eddProcessingConfiguration' - The data processing configuration.+--+-- * 'eddRoleARN' - The ARN of the AWS credentials.+--+-- * 'eddIndexName' - The Elasticsearch index name.+elasticsearchDestinationDescription+ :: ElasticsearchDestinationDescription+elasticsearchDestinationDescription =+ ElasticsearchDestinationDescription'+ { _eddIndexRotationPeriod = Nothing+ , _eddTypeName = Nothing+ , _eddS3BackupMode = Nothing+ , _eddDomainARN = Nothing+ , _eddCloudWatchLoggingOptions = Nothing+ , _eddS3DestinationDescription = Nothing+ , _eddBufferingHints = Nothing+ , _eddRetryOptions = Nothing+ , _eddProcessingConfiguration = Nothing+ , _eddRoleARN = Nothing+ , _eddIndexName = Nothing+ }+++-- | The Elasticsearch index rotation period+eddIndexRotationPeriod :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchIndexRotationPeriod)+eddIndexRotationPeriod = lens _eddIndexRotationPeriod (\ s a -> s{_eddIndexRotationPeriod = a});++-- | The Elasticsearch type name.+eddTypeName :: Lens' ElasticsearchDestinationDescription (Maybe Text)+eddTypeName = lens _eddTypeName (\ s a -> s{_eddTypeName = a});++-- | The Amazon S3 backup mode.+eddS3BackupMode :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchS3BackupMode)+eddS3BackupMode = lens _eddS3BackupMode (\ s a -> s{_eddS3BackupMode = a});++-- | The ARN of the Amazon ES domain.+eddDomainARN :: Lens' ElasticsearchDestinationDescription (Maybe Text)+eddDomainARN = lens _eddDomainARN (\ s a -> s{_eddDomainARN = a});++-- | The CloudWatch logging options.+eddCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationDescription (Maybe CloudWatchLoggingOptions)+eddCloudWatchLoggingOptions = lens _eddCloudWatchLoggingOptions (\ s a -> s{_eddCloudWatchLoggingOptions = a});++-- | The Amazon S3 destination.+eddS3DestinationDescription :: Lens' ElasticsearchDestinationDescription (Maybe S3DestinationDescription)+eddS3DestinationDescription = lens _eddS3DestinationDescription (\ s a -> s{_eddS3DestinationDescription = a});++-- | The buffering options.+eddBufferingHints :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchBufferingHints)+eddBufferingHints = lens _eddBufferingHints (\ s a -> s{_eddBufferingHints = a});++-- | The Amazon ES retry options.+eddRetryOptions :: Lens' ElasticsearchDestinationDescription (Maybe ElasticsearchRetryOptions)+eddRetryOptions = lens _eddRetryOptions (\ s a -> s{_eddRetryOptions = a});++-- | The data processing configuration.+eddProcessingConfiguration :: Lens' ElasticsearchDestinationDescription (Maybe ProcessingConfiguration)+eddProcessingConfiguration = lens _eddProcessingConfiguration (\ s a -> s{_eddProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+eddRoleARN :: Lens' ElasticsearchDestinationDescription (Maybe Text)+eddRoleARN = lens _eddRoleARN (\ s a -> s{_eddRoleARN = a});++-- | The Elasticsearch index name.+eddIndexName :: Lens' ElasticsearchDestinationDescription (Maybe Text)+eddIndexName = lens _eddIndexName (\ s a -> s{_eddIndexName = a});++instance FromJSON ElasticsearchDestinationDescription+ where+ parseJSON+ = withObject "ElasticsearchDestinationDescription"+ (\ x ->+ ElasticsearchDestinationDescription' <$>+ (x .:? "IndexRotationPeriod") <*> (x .:? "TypeName")+ <*> (x .:? "S3BackupMode")+ <*> (x .:? "DomainARN")+ <*> (x .:? "CloudWatchLoggingOptions")+ <*> (x .:? "S3DestinationDescription")+ <*> (x .:? "BufferingHints")+ <*> (x .:? "RetryOptions")+ <*> (x .:? "ProcessingConfiguration")+ <*> (x .:? "RoleARN")+ <*> (x .:? "IndexName"))++instance Hashable ElasticsearchDestinationDescription+ where++instance NFData ElasticsearchDestinationDescription+ where++-- | Describes an update for a destination in Amazon ES.+--+--+--+-- /See:/ 'elasticsearchDestinationUpdate' smart constructor.+data ElasticsearchDestinationUpdate = ElasticsearchDestinationUpdate'+ { _eduIndexRotationPeriod :: !(Maybe ElasticsearchIndexRotationPeriod)+ , _eduTypeName :: !(Maybe Text)+ , _eduDomainARN :: !(Maybe Text)+ , _eduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _eduS3Update :: !(Maybe S3DestinationUpdate)+ , _eduBufferingHints :: !(Maybe ElasticsearchBufferingHints)+ , _eduRetryOptions :: !(Maybe ElasticsearchRetryOptions)+ , _eduProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _eduRoleARN :: !(Maybe Text)+ , _eduIndexName :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticsearchDestinationUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eduIndexRotationPeriod' - The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .+--+-- * 'eduTypeName' - The Elasticsearch type name.+--+-- * 'eduDomainARN' - The ARN of the Amazon ES domain. The IAM role must have permissions for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming the IAM role specified in __RoleARN__ .+--+-- * 'eduCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'eduS3Update' - The Amazon S3 destination.+--+-- * 'eduBufferingHints' - The buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.+--+-- * 'eduRetryOptions' - The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).+--+-- * 'eduProcessingConfiguration' - The data processing configuration.+--+-- * 'eduRoleARN' - The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .+--+-- * 'eduIndexName' - The Elasticsearch index name.+elasticsearchDestinationUpdate+ :: ElasticsearchDestinationUpdate+elasticsearchDestinationUpdate =+ ElasticsearchDestinationUpdate'+ { _eduIndexRotationPeriod = Nothing+ , _eduTypeName = Nothing+ , _eduDomainARN = Nothing+ , _eduCloudWatchLoggingOptions = Nothing+ , _eduS3Update = Nothing+ , _eduBufferingHints = Nothing+ , _eduRetryOptions = Nothing+ , _eduProcessingConfiguration = Nothing+ , _eduRoleARN = Nothing+ , _eduIndexName = Nothing+ }+++-- | The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation Index Rotation for Amazon Elasticsearch Service Destination> . Default value is @OneDay@ .+eduIndexRotationPeriod :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchIndexRotationPeriod)+eduIndexRotationPeriod = lens _eduIndexRotationPeriod (\ s a -> s{_eduIndexRotationPeriod = a});++-- | The Elasticsearch type name.+eduTypeName :: Lens' ElasticsearchDestinationUpdate (Maybe Text)+eduTypeName = lens _eduTypeName (\ s a -> s{_eduTypeName = a});++-- | The ARN of the Amazon ES domain. The IAM role must have permissions for @DescribeElasticsearchDomain@ , @DescribeElasticsearchDomains@ , and @DescribeElasticsearchDomainConfig@ after assuming the IAM role specified in __RoleARN__ .+eduDomainARN :: Lens' ElasticsearchDestinationUpdate (Maybe Text)+eduDomainARN = lens _eduDomainARN (\ s a -> s{_eduDomainARN = a});++-- | The CloudWatch logging options for your delivery stream.+eduCloudWatchLoggingOptions :: Lens' ElasticsearchDestinationUpdate (Maybe CloudWatchLoggingOptions)+eduCloudWatchLoggingOptions = lens _eduCloudWatchLoggingOptions (\ s a -> s{_eduCloudWatchLoggingOptions = a});++-- | The Amazon S3 destination.+eduS3Update :: Lens' ElasticsearchDestinationUpdate (Maybe S3DestinationUpdate)+eduS3Update = lens _eduS3Update (\ s a -> s{_eduS3Update = a});++-- | The buffering options. If no value is specified, __ElasticsearchBufferingHints__ object default values are used.+eduBufferingHints :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchBufferingHints)+eduBufferingHints = lens _eduBufferingHints (\ s a -> s{_eduBufferingHints = a});++-- | The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).+eduRetryOptions :: Lens' ElasticsearchDestinationUpdate (Maybe ElasticsearchRetryOptions)+eduRetryOptions = lens _eduRetryOptions (\ s a -> s{_eduRetryOptions = a});++-- | The data processing configuration.+eduProcessingConfiguration :: Lens' ElasticsearchDestinationUpdate (Maybe ProcessingConfiguration)+eduProcessingConfiguration = lens _eduProcessingConfiguration (\ s a -> s{_eduProcessingConfiguration = a});++-- | The ARN of the IAM role to be assumed by Kinesis Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 Amazon S3 Bucket Access> .+eduRoleARN :: Lens' ElasticsearchDestinationUpdate (Maybe Text)+eduRoleARN = lens _eduRoleARN (\ s a -> s{_eduRoleARN = a});++-- | The Elasticsearch index name.+eduIndexName :: Lens' ElasticsearchDestinationUpdate (Maybe Text)+eduIndexName = lens _eduIndexName (\ s a -> s{_eduIndexName = a});++instance Hashable ElasticsearchDestinationUpdate+ where++instance NFData ElasticsearchDestinationUpdate where++instance ToJSON ElasticsearchDestinationUpdate where+ toJSON ElasticsearchDestinationUpdate'{..}+ = object+ (catMaybes+ [("IndexRotationPeriod" .=) <$>+ _eduIndexRotationPeriod,+ ("TypeName" .=) <$> _eduTypeName,+ ("DomainARN" .=) <$> _eduDomainARN,+ ("CloudWatchLoggingOptions" .=) <$>+ _eduCloudWatchLoggingOptions,+ ("S3Update" .=) <$> _eduS3Update,+ ("BufferingHints" .=) <$> _eduBufferingHints,+ ("RetryOptions" .=) <$> _eduRetryOptions,+ ("ProcessingConfiguration" .=) <$>+ _eduProcessingConfiguration,+ ("RoleARN" .=) <$> _eduRoleARN,+ ("IndexName" .=) <$> _eduIndexName])++-- | Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon ES.+--+--+--+-- /See:/ 'elasticsearchRetryOptions' smart constructor.+newtype ElasticsearchRetryOptions = ElasticsearchRetryOptions'+ { _eroDurationInSeconds :: Maybe Nat+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticsearchRetryOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eroDurationInSeconds' - After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.+elasticsearchRetryOptions+ :: ElasticsearchRetryOptions+elasticsearchRetryOptions =+ ElasticsearchRetryOptions' {_eroDurationInSeconds = Nothing}+++-- | After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.+eroDurationInSeconds :: Lens' ElasticsearchRetryOptions (Maybe Natural)+eroDurationInSeconds = lens _eroDurationInSeconds (\ s a -> s{_eroDurationInSeconds = a}) . mapping _Nat;++instance FromJSON ElasticsearchRetryOptions where+ parseJSON+ = withObject "ElasticsearchRetryOptions"+ (\ x ->+ ElasticsearchRetryOptions' <$>+ (x .:? "DurationInSeconds"))++instance Hashable ElasticsearchRetryOptions where++instance NFData ElasticsearchRetryOptions where++instance ToJSON ElasticsearchRetryOptions where+ toJSON ElasticsearchRetryOptions'{..}+ = object+ (catMaybes+ [("DurationInSeconds" .=) <$> _eroDurationInSeconds])++-- | Describes the encryption for a destination in Amazon S3.+--+--+--+-- /See:/ 'encryptionConfiguration' smart constructor.+data EncryptionConfiguration = EncryptionConfiguration'+ { _ecNoEncryptionConfig :: !(Maybe NoEncryptionConfig)+ , _ecKMSEncryptionConfig :: !(Maybe KMSEncryptionConfig)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EncryptionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecNoEncryptionConfig' - Specifically override existing encryption information to ensure that no encryption is used.+--+-- * 'ecKMSEncryptionConfig' - The encryption key.+encryptionConfiguration+ :: EncryptionConfiguration+encryptionConfiguration =+ EncryptionConfiguration'+ {_ecNoEncryptionConfig = Nothing, _ecKMSEncryptionConfig = Nothing}+++-- | Specifically override existing encryption information to ensure that no encryption is used.+ecNoEncryptionConfig :: Lens' EncryptionConfiguration (Maybe NoEncryptionConfig)+ecNoEncryptionConfig = lens _ecNoEncryptionConfig (\ s a -> s{_ecNoEncryptionConfig = a});++-- | The encryption key.+ecKMSEncryptionConfig :: Lens' EncryptionConfiguration (Maybe KMSEncryptionConfig)+ecKMSEncryptionConfig = lens _ecKMSEncryptionConfig (\ s a -> s{_ecKMSEncryptionConfig = a});++instance FromJSON EncryptionConfiguration where+ parseJSON+ = withObject "EncryptionConfiguration"+ (\ x ->+ EncryptionConfiguration' <$>+ (x .:? "NoEncryptionConfig") <*>+ (x .:? "KMSEncryptionConfig"))++instance Hashable EncryptionConfiguration where++instance NFData EncryptionConfiguration where++instance ToJSON EncryptionConfiguration where+ toJSON EncryptionConfiguration'{..}+ = object+ (catMaybes+ [("NoEncryptionConfig" .=) <$> _ecNoEncryptionConfig,+ ("KMSEncryptionConfig" .=) <$>+ _ecKMSEncryptionConfig])++-- | Describes the configuration of a destination in Amazon S3.+--+--+--+-- /See:/ 'extendedS3DestinationConfiguration' smart constructor.+data ExtendedS3DestinationConfiguration = ExtendedS3DestinationConfiguration'+ { _esdcS3BackupMode :: !(Maybe S3BackupMode)+ , _esdcPrefix :: !(Maybe Text)+ , _esdcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _esdcS3BackupConfiguration :: !(Maybe S3DestinationConfiguration)+ , _esdcEncryptionConfiguration :: !(Maybe EncryptionConfiguration)+ , _esdcCompressionFormat :: !(Maybe CompressionFormat)+ , _esdcBufferingHints :: !(Maybe BufferingHints)+ , _esdcProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _esdcRoleARN :: !Text+ , _esdcBucketARN :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExtendedS3DestinationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esdcS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'esdcPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'esdcCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'esdcS3BackupConfiguration' - The configuration for backup in Amazon S3.+--+-- * 'esdcEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+--+-- * 'esdcCompressionFormat' - The compression format. If no value is specified, the default is UNCOMPRESSED.+--+-- * 'esdcBufferingHints' - The buffering option.+--+-- * 'esdcProcessingConfiguration' - The data processing configuration.+--+-- * 'esdcRoleARN' - The ARN of the AWS credentials.+--+-- * 'esdcBucketARN' - The ARN of the S3 bucket.+extendedS3DestinationConfiguration+ :: Text -- ^ 'esdcRoleARN'+ -> Text -- ^ 'esdcBucketARN'+ -> ExtendedS3DestinationConfiguration+extendedS3DestinationConfiguration pRoleARN_ pBucketARN_ =+ ExtendedS3DestinationConfiguration'+ { _esdcS3BackupMode = Nothing+ , _esdcPrefix = Nothing+ , _esdcCloudWatchLoggingOptions = Nothing+ , _esdcS3BackupConfiguration = Nothing+ , _esdcEncryptionConfiguration = Nothing+ , _esdcCompressionFormat = Nothing+ , _esdcBufferingHints = Nothing+ , _esdcProcessingConfiguration = Nothing+ , _esdcRoleARN = pRoleARN_+ , _esdcBucketARN = pBucketARN_+ }+++-- | The Amazon S3 backup mode.+esdcS3BackupMode :: Lens' ExtendedS3DestinationConfiguration (Maybe S3BackupMode)+esdcS3BackupMode = lens _esdcS3BackupMode (\ s a -> s{_esdcS3BackupMode = a});++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+esdcPrefix :: Lens' ExtendedS3DestinationConfiguration (Maybe Text)+esdcPrefix = lens _esdcPrefix (\ s a -> s{_esdcPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+esdcCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationConfiguration (Maybe CloudWatchLoggingOptions)+esdcCloudWatchLoggingOptions = lens _esdcCloudWatchLoggingOptions (\ s a -> s{_esdcCloudWatchLoggingOptions = a});++-- | The configuration for backup in Amazon S3.+esdcS3BackupConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe S3DestinationConfiguration)+esdcS3BackupConfiguration = lens _esdcS3BackupConfiguration (\ s a -> s{_esdcS3BackupConfiguration = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+esdcEncryptionConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe EncryptionConfiguration)+esdcEncryptionConfiguration = lens _esdcEncryptionConfiguration (\ s a -> s{_esdcEncryptionConfiguration = a});++-- | The compression format. If no value is specified, the default is UNCOMPRESSED.+esdcCompressionFormat :: Lens' ExtendedS3DestinationConfiguration (Maybe CompressionFormat)+esdcCompressionFormat = lens _esdcCompressionFormat (\ s a -> s{_esdcCompressionFormat = a});++-- | The buffering option.+esdcBufferingHints :: Lens' ExtendedS3DestinationConfiguration (Maybe BufferingHints)+esdcBufferingHints = lens _esdcBufferingHints (\ s a -> s{_esdcBufferingHints = a});++-- | The data processing configuration.+esdcProcessingConfiguration :: Lens' ExtendedS3DestinationConfiguration (Maybe ProcessingConfiguration)+esdcProcessingConfiguration = lens _esdcProcessingConfiguration (\ s a -> s{_esdcProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+esdcRoleARN :: Lens' ExtendedS3DestinationConfiguration Text+esdcRoleARN = lens _esdcRoleARN (\ s a -> s{_esdcRoleARN = a});++-- | The ARN of the S3 bucket.+esdcBucketARN :: Lens' ExtendedS3DestinationConfiguration Text+esdcBucketARN = lens _esdcBucketARN (\ s a -> s{_esdcBucketARN = a});++instance Hashable ExtendedS3DestinationConfiguration+ where++instance NFData ExtendedS3DestinationConfiguration+ where++instance ToJSON ExtendedS3DestinationConfiguration+ where+ toJSON ExtendedS3DestinationConfiguration'{..}+ = object+ (catMaybes+ [("S3BackupMode" .=) <$> _esdcS3BackupMode,+ ("Prefix" .=) <$> _esdcPrefix,+ ("CloudWatchLoggingOptions" .=) <$>+ _esdcCloudWatchLoggingOptions,+ ("S3BackupConfiguration" .=) <$>+ _esdcS3BackupConfiguration,+ ("EncryptionConfiguration" .=) <$>+ _esdcEncryptionConfiguration,+ ("CompressionFormat" .=) <$> _esdcCompressionFormat,+ ("BufferingHints" .=) <$> _esdcBufferingHints,+ ("ProcessingConfiguration" .=) <$>+ _esdcProcessingConfiguration,+ Just ("RoleARN" .= _esdcRoleARN),+ Just ("BucketARN" .= _esdcBucketARN)])++-- | Describes a destination in Amazon S3.+--+--+--+-- /See:/ 'extendedS3DestinationDescription' smart constructor.+data ExtendedS3DestinationDescription = ExtendedS3DestinationDescription'+ { _esddS3BackupMode :: !(Maybe S3BackupMode)+ , _esddS3BackupDescription :: !(Maybe S3DestinationDescription)+ , _esddPrefix :: !(Maybe Text)+ , _esddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _esddProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _esddRoleARN :: !Text+ , _esddBucketARN :: !Text+ , _esddBufferingHints :: !BufferingHints+ , _esddCompressionFormat :: !CompressionFormat+ , _esddEncryptionConfiguration :: !EncryptionConfiguration+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExtendedS3DestinationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esddS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'esddS3BackupDescription' - The configuration for backup in Amazon S3.+--+-- * 'esddPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'esddCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'esddProcessingConfiguration' - The data processing configuration.+--+-- * 'esddRoleARN' - The ARN of the AWS credentials.+--+-- * 'esddBucketARN' - The ARN of the S3 bucket.+--+-- * 'esddBufferingHints' - The buffering option.+--+-- * 'esddCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+--+-- * 'esddEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+extendedS3DestinationDescription+ :: Text -- ^ 'esddRoleARN'+ -> Text -- ^ 'esddBucketARN'+ -> BufferingHints -- ^ 'esddBufferingHints'+ -> CompressionFormat -- ^ 'esddCompressionFormat'+ -> EncryptionConfiguration -- ^ 'esddEncryptionConfiguration'+ -> ExtendedS3DestinationDescription+extendedS3DestinationDescription pRoleARN_ pBucketARN_ pBufferingHints_ pCompressionFormat_ pEncryptionConfiguration_ =+ ExtendedS3DestinationDescription'+ { _esddS3BackupMode = Nothing+ , _esddS3BackupDescription = Nothing+ , _esddPrefix = Nothing+ , _esddCloudWatchLoggingOptions = Nothing+ , _esddProcessingConfiguration = Nothing+ , _esddRoleARN = pRoleARN_+ , _esddBucketARN = pBucketARN_+ , _esddBufferingHints = pBufferingHints_+ , _esddCompressionFormat = pCompressionFormat_+ , _esddEncryptionConfiguration = pEncryptionConfiguration_+ }+++-- | The Amazon S3 backup mode.+esddS3BackupMode :: Lens' ExtendedS3DestinationDescription (Maybe S3BackupMode)+esddS3BackupMode = lens _esddS3BackupMode (\ s a -> s{_esddS3BackupMode = a});++-- | The configuration for backup in Amazon S3.+esddS3BackupDescription :: Lens' ExtendedS3DestinationDescription (Maybe S3DestinationDescription)+esddS3BackupDescription = lens _esddS3BackupDescription (\ s a -> s{_esddS3BackupDescription = a});++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+esddPrefix :: Lens' ExtendedS3DestinationDescription (Maybe Text)+esddPrefix = lens _esddPrefix (\ s a -> s{_esddPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+esddCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationDescription (Maybe CloudWatchLoggingOptions)+esddCloudWatchLoggingOptions = lens _esddCloudWatchLoggingOptions (\ s a -> s{_esddCloudWatchLoggingOptions = a});++-- | The data processing configuration.+esddProcessingConfiguration :: Lens' ExtendedS3DestinationDescription (Maybe ProcessingConfiguration)+esddProcessingConfiguration = lens _esddProcessingConfiguration (\ s a -> s{_esddProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+esddRoleARN :: Lens' ExtendedS3DestinationDescription Text+esddRoleARN = lens _esddRoleARN (\ s a -> s{_esddRoleARN = a});++-- | The ARN of the S3 bucket.+esddBucketARN :: Lens' ExtendedS3DestinationDescription Text+esddBucketARN = lens _esddBucketARN (\ s a -> s{_esddBucketARN = a});++-- | The buffering option.+esddBufferingHints :: Lens' ExtendedS3DestinationDescription BufferingHints+esddBufferingHints = lens _esddBufferingHints (\ s a -> s{_esddBufferingHints = a});++-- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+esddCompressionFormat :: Lens' ExtendedS3DestinationDescription CompressionFormat+esddCompressionFormat = lens _esddCompressionFormat (\ s a -> s{_esddCompressionFormat = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+esddEncryptionConfiguration :: Lens' ExtendedS3DestinationDescription EncryptionConfiguration+esddEncryptionConfiguration = lens _esddEncryptionConfiguration (\ s a -> s{_esddEncryptionConfiguration = a});++instance FromJSON ExtendedS3DestinationDescription+ where+ parseJSON+ = withObject "ExtendedS3DestinationDescription"+ (\ x ->+ ExtendedS3DestinationDescription' <$>+ (x .:? "S3BackupMode") <*>+ (x .:? "S3BackupDescription")+ <*> (x .:? "Prefix")+ <*> (x .:? "CloudWatchLoggingOptions")+ <*> (x .:? "ProcessingConfiguration")+ <*> (x .: "RoleARN")+ <*> (x .: "BucketARN")+ <*> (x .: "BufferingHints")+ <*> (x .: "CompressionFormat")+ <*> (x .: "EncryptionConfiguration"))++instance Hashable ExtendedS3DestinationDescription+ where++instance NFData ExtendedS3DestinationDescription+ where++-- | Describes an update for a destination in Amazon S3.+--+--+--+-- /See:/ 'extendedS3DestinationUpdate' smart constructor.+data ExtendedS3DestinationUpdate = ExtendedS3DestinationUpdate'+ { _esduS3BackupMode :: !(Maybe S3BackupMode)+ , _esduPrefix :: !(Maybe Text)+ , _esduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _esduS3BackupUpdate :: !(Maybe S3DestinationUpdate)+ , _esduEncryptionConfiguration :: !(Maybe EncryptionConfiguration)+ , _esduCompressionFormat :: !(Maybe CompressionFormat)+ , _esduBufferingHints :: !(Maybe BufferingHints)+ , _esduBucketARN :: !(Maybe Text)+ , _esduProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _esduRoleARN :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExtendedS3DestinationUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esduS3BackupMode' - Enables or disables Amazon S3 backup mode.+--+-- * 'esduPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'esduCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'esduS3BackupUpdate' - The Amazon S3 destination for backup.+--+-- * 'esduEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+--+-- * 'esduCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+--+-- * 'esduBufferingHints' - The buffering option.+--+-- * 'esduBucketARN' - The ARN of the S3 bucket.+--+-- * 'esduProcessingConfiguration' - The data processing configuration.+--+-- * 'esduRoleARN' - The ARN of the AWS credentials.+extendedS3DestinationUpdate+ :: ExtendedS3DestinationUpdate+extendedS3DestinationUpdate =+ ExtendedS3DestinationUpdate'+ { _esduS3BackupMode = Nothing+ , _esduPrefix = Nothing+ , _esduCloudWatchLoggingOptions = Nothing+ , _esduS3BackupUpdate = Nothing+ , _esduEncryptionConfiguration = Nothing+ , _esduCompressionFormat = Nothing+ , _esduBufferingHints = Nothing+ , _esduBucketARN = Nothing+ , _esduProcessingConfiguration = Nothing+ , _esduRoleARN = Nothing+ }+++-- | Enables or disables Amazon S3 backup mode.+esduS3BackupMode :: Lens' ExtendedS3DestinationUpdate (Maybe S3BackupMode)+esduS3BackupMode = lens _esduS3BackupMode (\ s a -> s{_esduS3BackupMode = a});++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+esduPrefix :: Lens' ExtendedS3DestinationUpdate (Maybe Text)+esduPrefix = lens _esduPrefix (\ s a -> s{_esduPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+esduCloudWatchLoggingOptions :: Lens' ExtendedS3DestinationUpdate (Maybe CloudWatchLoggingOptions)+esduCloudWatchLoggingOptions = lens _esduCloudWatchLoggingOptions (\ s a -> s{_esduCloudWatchLoggingOptions = a});++-- | The Amazon S3 destination for backup.+esduS3BackupUpdate :: Lens' ExtendedS3DestinationUpdate (Maybe S3DestinationUpdate)+esduS3BackupUpdate = lens _esduS3BackupUpdate (\ s a -> s{_esduS3BackupUpdate = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+esduEncryptionConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe EncryptionConfiguration)+esduEncryptionConfiguration = lens _esduEncryptionConfiguration (\ s a -> s{_esduEncryptionConfiguration = a});++-- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+esduCompressionFormat :: Lens' ExtendedS3DestinationUpdate (Maybe CompressionFormat)+esduCompressionFormat = lens _esduCompressionFormat (\ s a -> s{_esduCompressionFormat = a});++-- | The buffering option.+esduBufferingHints :: Lens' ExtendedS3DestinationUpdate (Maybe BufferingHints)+esduBufferingHints = lens _esduBufferingHints (\ s a -> s{_esduBufferingHints = a});++-- | The ARN of the S3 bucket.+esduBucketARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)+esduBucketARN = lens _esduBucketARN (\ s a -> s{_esduBucketARN = a});++-- | The data processing configuration.+esduProcessingConfiguration :: Lens' ExtendedS3DestinationUpdate (Maybe ProcessingConfiguration)+esduProcessingConfiguration = lens _esduProcessingConfiguration (\ s a -> s{_esduProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+esduRoleARN :: Lens' ExtendedS3DestinationUpdate (Maybe Text)+esduRoleARN = lens _esduRoleARN (\ s a -> s{_esduRoleARN = a});++instance Hashable ExtendedS3DestinationUpdate where++instance NFData ExtendedS3DestinationUpdate where++instance ToJSON ExtendedS3DestinationUpdate where+ toJSON ExtendedS3DestinationUpdate'{..}+ = object+ (catMaybes+ [("S3BackupMode" .=) <$> _esduS3BackupMode,+ ("Prefix" .=) <$> _esduPrefix,+ ("CloudWatchLoggingOptions" .=) <$>+ _esduCloudWatchLoggingOptions,+ ("S3BackupUpdate" .=) <$> _esduS3BackupUpdate,+ ("EncryptionConfiguration" .=) <$>+ _esduEncryptionConfiguration,+ ("CompressionFormat" .=) <$> _esduCompressionFormat,+ ("BufferingHints" .=) <$> _esduBufferingHints,+ ("BucketARN" .=) <$> _esduBucketARN,+ ("ProcessingConfiguration" .=) <$>+ _esduProcessingConfiguration,+ ("RoleARN" .=) <$> _esduRoleARN])++-- | Describes an encryption key for a destination in Amazon S3.+--+--+--+-- /See:/ 'kmsEncryptionConfig' smart constructor.+newtype KMSEncryptionConfig = KMSEncryptionConfig'+ { _kecAWSKMSKeyARN :: Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KMSEncryptionConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kecAWSKMSKeyARN' - The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.+kmsEncryptionConfig+ :: Text -- ^ 'kecAWSKMSKeyARN'+ -> KMSEncryptionConfig+kmsEncryptionConfig pAWSKMSKeyARN_ =+ KMSEncryptionConfig' {_kecAWSKMSKeyARN = pAWSKMSKeyARN_}+++-- | The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.+kecAWSKMSKeyARN :: Lens' KMSEncryptionConfig Text+kecAWSKMSKeyARN = lens _kecAWSKMSKeyARN (\ s a -> s{_kecAWSKMSKeyARN = a});++instance FromJSON KMSEncryptionConfig where+ parseJSON+ = withObject "KMSEncryptionConfig"+ (\ x ->+ KMSEncryptionConfig' <$> (x .: "AWSKMSKeyARN"))++instance Hashable KMSEncryptionConfig where++instance NFData KMSEncryptionConfig where++instance ToJSON KMSEncryptionConfig where+ toJSON KMSEncryptionConfig'{..}+ = object+ (catMaybes+ [Just ("AWSKMSKeyARN" .= _kecAWSKMSKeyARN)])++-- | The stream and role ARNs for a Kinesis stream used as the source for a delivery stream.+--+--+--+-- /See:/ 'kinesisStreamSourceConfiguration' smart constructor.+data KinesisStreamSourceConfiguration = KinesisStreamSourceConfiguration'+ { _ksscKinesisStreamARN :: !Text+ , _ksscRoleARN :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KinesisStreamSourceConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ksscKinesisStreamARN' - The ARN of the source Kinesis stream.+--+-- * 'ksscRoleARN' - The ARN of the role that provides access to the source Kinesis stream.+kinesisStreamSourceConfiguration+ :: Text -- ^ 'ksscKinesisStreamARN'+ -> Text -- ^ 'ksscRoleARN'+ -> KinesisStreamSourceConfiguration+kinesisStreamSourceConfiguration pKinesisStreamARN_ pRoleARN_ =+ KinesisStreamSourceConfiguration'+ {_ksscKinesisStreamARN = pKinesisStreamARN_, _ksscRoleARN = pRoleARN_}+++-- | The ARN of the source Kinesis stream.+ksscKinesisStreamARN :: Lens' KinesisStreamSourceConfiguration Text+ksscKinesisStreamARN = lens _ksscKinesisStreamARN (\ s a -> s{_ksscKinesisStreamARN = a});++-- | The ARN of the role that provides access to the source Kinesis stream.+ksscRoleARN :: Lens' KinesisStreamSourceConfiguration Text+ksscRoleARN = lens _ksscRoleARN (\ s a -> s{_ksscRoleARN = a});++instance Hashable KinesisStreamSourceConfiguration+ where++instance NFData KinesisStreamSourceConfiguration+ where++instance ToJSON KinesisStreamSourceConfiguration+ where+ toJSON KinesisStreamSourceConfiguration'{..}+ = object+ (catMaybes+ [Just ("KinesisStreamARN" .= _ksscKinesisStreamARN),+ Just ("RoleARN" .= _ksscRoleARN)])++-- | Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.+--+--+--+-- /See:/ 'kinesisStreamSourceDescription' smart constructor.+data KinesisStreamSourceDescription = KinesisStreamSourceDescription'+ { _kssdDeliveryStartTimestamp :: !(Maybe POSIX)+ , _kssdKinesisStreamARN :: !(Maybe Text)+ , _kssdRoleARN :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KinesisStreamSourceDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kssdDeliveryStartTimestamp' - Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp.+--+-- * 'kssdKinesisStreamARN' - The ARN of the source Kinesis stream.+--+-- * 'kssdRoleARN' - The ARN of the role used by the source Kinesis stream.+kinesisStreamSourceDescription+ :: KinesisStreamSourceDescription+kinesisStreamSourceDescription =+ KinesisStreamSourceDescription'+ { _kssdDeliveryStartTimestamp = Nothing+ , _kssdKinesisStreamARN = Nothing+ , _kssdRoleARN = Nothing+ }+++-- | Kinesis Firehose starts retrieving records from the Kinesis stream starting with this time stamp.+kssdDeliveryStartTimestamp :: Lens' KinesisStreamSourceDescription (Maybe UTCTime)+kssdDeliveryStartTimestamp = lens _kssdDeliveryStartTimestamp (\ s a -> s{_kssdDeliveryStartTimestamp = a}) . mapping _Time;++-- | The ARN of the source Kinesis stream.+kssdKinesisStreamARN :: Lens' KinesisStreamSourceDescription (Maybe Text)+kssdKinesisStreamARN = lens _kssdKinesisStreamARN (\ s a -> s{_kssdKinesisStreamARN = a});++-- | The ARN of the role used by the source Kinesis stream.+kssdRoleARN :: Lens' KinesisStreamSourceDescription (Maybe Text)+kssdRoleARN = lens _kssdRoleARN (\ s a -> s{_kssdRoleARN = a});++instance FromJSON KinesisStreamSourceDescription+ where+ parseJSON+ = withObject "KinesisStreamSourceDescription"+ (\ x ->+ KinesisStreamSourceDescription' <$>+ (x .:? "DeliveryStartTimestamp") <*>+ (x .:? "KinesisStreamARN")+ <*> (x .:? "RoleARN"))++instance Hashable KinesisStreamSourceDescription+ where++instance NFData KinesisStreamSourceDescription where++-- | Describes a data processing configuration.+--+--+--+-- /See:/ 'processingConfiguration' smart constructor.+data ProcessingConfiguration = ProcessingConfiguration'+ { _pcEnabled :: !(Maybe Bool)+ , _pcProcessors :: !(Maybe [Processor])+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProcessingConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcEnabled' - Enables or disables data processing.+--+-- * 'pcProcessors' - The data processors.+processingConfiguration+ :: ProcessingConfiguration+processingConfiguration =+ ProcessingConfiguration' {_pcEnabled = Nothing, _pcProcessors = Nothing}+++-- | Enables or disables data processing.+pcEnabled :: Lens' ProcessingConfiguration (Maybe Bool)+pcEnabled = lens _pcEnabled (\ s a -> s{_pcEnabled = a});++-- | The data processors.+pcProcessors :: Lens' ProcessingConfiguration [Processor]+pcProcessors = lens _pcProcessors (\ s a -> s{_pcProcessors = a}) . _Default . _Coerce;++instance FromJSON ProcessingConfiguration where+ parseJSON+ = withObject "ProcessingConfiguration"+ (\ x ->+ ProcessingConfiguration' <$>+ (x .:? "Enabled") <*>+ (x .:? "Processors" .!= mempty))++instance Hashable ProcessingConfiguration where++instance NFData ProcessingConfiguration where++instance ToJSON ProcessingConfiguration where+ toJSON ProcessingConfiguration'{..}+ = object+ (catMaybes+ [("Enabled" .=) <$> _pcEnabled,+ ("Processors" .=) <$> _pcProcessors])++-- | Describes a data processor.+--+--+--+-- /See:/ 'processor' smart constructor.+data Processor = Processor'+ { _pParameters :: !(Maybe [ProcessorParameter])+ , _pType :: !ProcessorType+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Processor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pParameters' - The processor parameters.+--+-- * 'pType' - The type of processor.+processor+ :: ProcessorType -- ^ 'pType'+ -> Processor+processor pType_ = Processor' {_pParameters = Nothing, _pType = pType_}+++-- | The processor parameters.+pParameters :: Lens' Processor [ProcessorParameter]+pParameters = lens _pParameters (\ s a -> s{_pParameters = a}) . _Default . _Coerce;++-- | The type of processor.+pType :: Lens' Processor ProcessorType+pType = lens _pType (\ s a -> s{_pType = a});++instance FromJSON Processor where+ parseJSON+ = withObject "Processor"+ (\ x ->+ Processor' <$>+ (x .:? "Parameters" .!= mempty) <*> (x .: "Type"))++instance Hashable Processor where++instance NFData Processor where++instance ToJSON Processor where+ toJSON Processor'{..}+ = object+ (catMaybes+ [("Parameters" .=) <$> _pParameters,+ Just ("Type" .= _pType)])++-- | Describes the processor parameter.+--+--+--+-- /See:/ 'processorParameter' smart constructor.+data ProcessorParameter = ProcessorParameter'+ { _ppParameterName :: !ProcessorParameterName+ , _ppParameterValue :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProcessorParameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppParameterName' - The name of the parameter.+--+-- * 'ppParameterValue' - The parameter value.+processorParameter+ :: ProcessorParameterName -- ^ 'ppParameterName'+ -> Text -- ^ 'ppParameterValue'+ -> ProcessorParameter+processorParameter pParameterName_ pParameterValue_ =+ ProcessorParameter'+ {_ppParameterName = pParameterName_, _ppParameterValue = pParameterValue_}+++-- | The name of the parameter.+ppParameterName :: Lens' ProcessorParameter ProcessorParameterName+ppParameterName = lens _ppParameterName (\ s a -> s{_ppParameterName = a});++-- | The parameter value.+ppParameterValue :: Lens' ProcessorParameter Text+ppParameterValue = lens _ppParameterValue (\ s a -> s{_ppParameterValue = a});++instance FromJSON ProcessorParameter where+ parseJSON+ = withObject "ProcessorParameter"+ (\ x ->+ ProcessorParameter' <$>+ (x .: "ParameterName") <*> (x .: "ParameterValue"))++instance Hashable ProcessorParameter where++instance NFData ProcessorParameter where++instance ToJSON ProcessorParameter where+ toJSON ProcessorParameter'{..}+ = object+ (catMaybes+ [Just ("ParameterName" .= _ppParameterName),+ Just ("ParameterValue" .= _ppParameterValue)])++-- | Contains the result for an individual record from a 'PutRecordBatch' request. If the record is successfully added to your delivery stream, it receives a record ID. If the record fails to be added to your delivery stream, the result includes an error code and an error message.+--+--+--+-- /See:/ 'putRecordBatchResponseEntry' smart constructor.+data PutRecordBatchResponseEntry = PutRecordBatchResponseEntry'+ { _prbreRecordId :: !(Maybe Text)+ , _prbreErrorCode :: !(Maybe Text)+ , _prbreErrorMessage :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutRecordBatchResponseEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prbreRecordId' - The ID of the record.+--+-- * 'prbreErrorCode' - The error code for an individual record result.+--+-- * 'prbreErrorMessage' - The error message for an individual record result.+putRecordBatchResponseEntry+ :: PutRecordBatchResponseEntry+putRecordBatchResponseEntry =+ PutRecordBatchResponseEntry'+ { _prbreRecordId = Nothing+ , _prbreErrorCode = Nothing+ , _prbreErrorMessage = Nothing+ }+++-- | The ID of the record.+prbreRecordId :: Lens' PutRecordBatchResponseEntry (Maybe Text)+prbreRecordId = lens _prbreRecordId (\ s a -> s{_prbreRecordId = a});++-- | The error code for an individual record result.+prbreErrorCode :: Lens' PutRecordBatchResponseEntry (Maybe Text)+prbreErrorCode = lens _prbreErrorCode (\ s a -> s{_prbreErrorCode = a});++-- | The error message for an individual record result.+prbreErrorMessage :: Lens' PutRecordBatchResponseEntry (Maybe Text)+prbreErrorMessage = lens _prbreErrorMessage (\ s a -> s{_prbreErrorMessage = a});++instance FromJSON PutRecordBatchResponseEntry where+ parseJSON+ = withObject "PutRecordBatchResponseEntry"+ (\ x ->+ PutRecordBatchResponseEntry' <$>+ (x .:? "RecordId") <*> (x .:? "ErrorCode") <*>+ (x .:? "ErrorMessage"))++instance Hashable PutRecordBatchResponseEntry where++instance NFData PutRecordBatchResponseEntry where++-- | The unit of data in a delivery stream.+--+--+--+-- /See:/ 'record' smart constructor.+newtype Record = Record'+ { _rData :: Base64+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Record' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rData' - The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+record+ :: ByteString -- ^ 'rData'+ -> Record+record pData_ = Record' {_rData = _Base64 # pData_}+++-- | The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+rData :: Lens' Record ByteString+rData = lens _rData (\ s a -> s{_rData = a}) . _Base64;++instance Hashable Record where++instance NFData Record where++instance ToJSON Record where+ toJSON Record'{..}+ = object (catMaybes [Just ("Data" .= _rData)])++-- | Describes the configuration of a destination in Amazon Redshift.+--+--+--+-- /See:/ 'redshiftDestinationConfiguration' smart constructor.+data RedshiftDestinationConfiguration = RedshiftDestinationConfiguration'+ { _rdcS3BackupMode :: !(Maybe RedshiftS3BackupMode)+ , _rdcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _rdcS3BackupConfiguration :: !(Maybe S3DestinationConfiguration)+ , _rdcRetryOptions :: !(Maybe RedshiftRetryOptions)+ , _rdcProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _rdcRoleARN :: !Text+ , _rdcClusterJDBCURL :: !Text+ , _rdcCopyCommand :: !CopyCommand+ , _rdcUsername :: !(Sensitive Text)+ , _rdcPassword :: !(Sensitive Text)+ , _rdcS3Configuration :: !S3DestinationConfiguration+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RedshiftDestinationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdcS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'rdcCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'rdcS3BackupConfiguration' - The configuration for backup in Amazon S3.+--+-- * 'rdcRetryOptions' - The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+--+-- * 'rdcProcessingConfiguration' - The data processing configuration.+--+-- * 'rdcRoleARN' - The ARN of the AWS credentials.+--+-- * 'rdcClusterJDBCURL' - The database connection string.+--+-- * 'rdcCopyCommand' - The @COPY@ command.+--+-- * 'rdcUsername' - The name of the user.+--+-- * 'rdcPassword' - The user password.+--+-- * 'rdcS3Configuration' - The configuration for the intermediate Amazon S3 location from which Amazon Redshift obtains data. Restrictions are described in the topic for 'CreateDeliveryStream' . The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationConfiguration.S3Configuration__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.+redshiftDestinationConfiguration+ :: Text -- ^ 'rdcRoleARN'+ -> Text -- ^ 'rdcClusterJDBCURL'+ -> CopyCommand -- ^ 'rdcCopyCommand'+ -> Text -- ^ 'rdcUsername'+ -> Text -- ^ 'rdcPassword'+ -> S3DestinationConfiguration -- ^ 'rdcS3Configuration'+ -> RedshiftDestinationConfiguration+redshiftDestinationConfiguration pRoleARN_ pClusterJDBCURL_ pCopyCommand_ pUsername_ pPassword_ pS3Configuration_ =+ RedshiftDestinationConfiguration'+ { _rdcS3BackupMode = Nothing+ , _rdcCloudWatchLoggingOptions = Nothing+ , _rdcS3BackupConfiguration = Nothing+ , _rdcRetryOptions = Nothing+ , _rdcProcessingConfiguration = Nothing+ , _rdcRoleARN = pRoleARN_+ , _rdcClusterJDBCURL = pClusterJDBCURL_+ , _rdcCopyCommand = pCopyCommand_+ , _rdcUsername = _Sensitive # pUsername_+ , _rdcPassword = _Sensitive # pPassword_+ , _rdcS3Configuration = pS3Configuration_+ }+++-- | The Amazon S3 backup mode.+rdcS3BackupMode :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftS3BackupMode)+rdcS3BackupMode = lens _rdcS3BackupMode (\ s a -> s{_rdcS3BackupMode = a});++-- | The CloudWatch logging options for your delivery stream.+rdcCloudWatchLoggingOptions :: Lens' RedshiftDestinationConfiguration (Maybe CloudWatchLoggingOptions)+rdcCloudWatchLoggingOptions = lens _rdcCloudWatchLoggingOptions (\ s a -> s{_rdcCloudWatchLoggingOptions = a});++-- | The configuration for backup in Amazon S3.+rdcS3BackupConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe S3DestinationConfiguration)+rdcS3BackupConfiguration = lens _rdcS3BackupConfiguration (\ s a -> s{_rdcS3BackupConfiguration = a});++-- | The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+rdcRetryOptions :: Lens' RedshiftDestinationConfiguration (Maybe RedshiftRetryOptions)+rdcRetryOptions = lens _rdcRetryOptions (\ s a -> s{_rdcRetryOptions = a});++-- | The data processing configuration.+rdcProcessingConfiguration :: Lens' RedshiftDestinationConfiguration (Maybe ProcessingConfiguration)+rdcProcessingConfiguration = lens _rdcProcessingConfiguration (\ s a -> s{_rdcProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+rdcRoleARN :: Lens' RedshiftDestinationConfiguration Text+rdcRoleARN = lens _rdcRoleARN (\ s a -> s{_rdcRoleARN = a});++-- | The database connection string.+rdcClusterJDBCURL :: Lens' RedshiftDestinationConfiguration Text+rdcClusterJDBCURL = lens _rdcClusterJDBCURL (\ s a -> s{_rdcClusterJDBCURL = a});++-- | The @COPY@ command.+rdcCopyCommand :: Lens' RedshiftDestinationConfiguration CopyCommand+rdcCopyCommand = lens _rdcCopyCommand (\ s a -> s{_rdcCopyCommand = a});++-- | The name of the user.+rdcUsername :: Lens' RedshiftDestinationConfiguration Text+rdcUsername = lens _rdcUsername (\ s a -> s{_rdcUsername = a}) . _Sensitive;++-- | The user password.+rdcPassword :: Lens' RedshiftDestinationConfiguration Text+rdcPassword = lens _rdcPassword (\ s a -> s{_rdcPassword = a}) . _Sensitive;++-- | The configuration for the intermediate Amazon S3 location from which Amazon Redshift obtains data. Restrictions are described in the topic for 'CreateDeliveryStream' . The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationConfiguration.S3Configuration__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.+rdcS3Configuration :: Lens' RedshiftDestinationConfiguration S3DestinationConfiguration+rdcS3Configuration = lens _rdcS3Configuration (\ s a -> s{_rdcS3Configuration = a});++instance Hashable RedshiftDestinationConfiguration+ where++instance NFData RedshiftDestinationConfiguration+ where++instance ToJSON RedshiftDestinationConfiguration+ where+ toJSON RedshiftDestinationConfiguration'{..}+ = object+ (catMaybes+ [("S3BackupMode" .=) <$> _rdcS3BackupMode,+ ("CloudWatchLoggingOptions" .=) <$>+ _rdcCloudWatchLoggingOptions,+ ("S3BackupConfiguration" .=) <$>+ _rdcS3BackupConfiguration,+ ("RetryOptions" .=) <$> _rdcRetryOptions,+ ("ProcessingConfiguration" .=) <$>+ _rdcProcessingConfiguration,+ Just ("RoleARN" .= _rdcRoleARN),+ Just ("ClusterJDBCURL" .= _rdcClusterJDBCURL),+ Just ("CopyCommand" .= _rdcCopyCommand),+ Just ("Username" .= _rdcUsername),+ Just ("Password" .= _rdcPassword),+ Just ("S3Configuration" .= _rdcS3Configuration)])++-- | Describes a destination in Amazon Redshift.+--+--+--+-- /See:/ 'redshiftDestinationDescription' smart constructor.+data RedshiftDestinationDescription = RedshiftDestinationDescription'+ { _rddS3BackupMode :: !(Maybe RedshiftS3BackupMode)+ , _rddS3BackupDescription :: !(Maybe S3DestinationDescription)+ , _rddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _rddRetryOptions :: !(Maybe RedshiftRetryOptions)+ , _rddProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _rddRoleARN :: !Text+ , _rddClusterJDBCURL :: !Text+ , _rddCopyCommand :: !CopyCommand+ , _rddUsername :: !(Sensitive Text)+ , _rddS3DestinationDescription :: !S3DestinationDescription+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RedshiftDestinationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rddS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'rddS3BackupDescription' - The configuration for backup in Amazon S3.+--+-- * 'rddCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'rddRetryOptions' - The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+--+-- * 'rddProcessingConfiguration' - The data processing configuration.+--+-- * 'rddRoleARN' - The ARN of the AWS credentials.+--+-- * 'rddClusterJDBCURL' - The database connection string.+--+-- * 'rddCopyCommand' - The @COPY@ command.+--+-- * 'rddUsername' - The name of the user.+--+-- * 'rddS3DestinationDescription' - The Amazon S3 destination.+redshiftDestinationDescription+ :: Text -- ^ 'rddRoleARN'+ -> Text -- ^ 'rddClusterJDBCURL'+ -> CopyCommand -- ^ 'rddCopyCommand'+ -> Text -- ^ 'rddUsername'+ -> S3DestinationDescription -- ^ 'rddS3DestinationDescription'+ -> RedshiftDestinationDescription+redshiftDestinationDescription pRoleARN_ pClusterJDBCURL_ pCopyCommand_ pUsername_ pS3DestinationDescription_ =+ RedshiftDestinationDescription'+ { _rddS3BackupMode = Nothing+ , _rddS3BackupDescription = Nothing+ , _rddCloudWatchLoggingOptions = Nothing+ , _rddRetryOptions = Nothing+ , _rddProcessingConfiguration = Nothing+ , _rddRoleARN = pRoleARN_+ , _rddClusterJDBCURL = pClusterJDBCURL_+ , _rddCopyCommand = pCopyCommand_+ , _rddUsername = _Sensitive # pUsername_+ , _rddS3DestinationDescription = pS3DestinationDescription_+ }+++-- | The Amazon S3 backup mode.+rddS3BackupMode :: Lens' RedshiftDestinationDescription (Maybe RedshiftS3BackupMode)+rddS3BackupMode = lens _rddS3BackupMode (\ s a -> s{_rddS3BackupMode = a});++-- | The configuration for backup in Amazon S3.+rddS3BackupDescription :: Lens' RedshiftDestinationDescription (Maybe S3DestinationDescription)+rddS3BackupDescription = lens _rddS3BackupDescription (\ s a -> s{_rddS3BackupDescription = a});++-- | The CloudWatch logging options for your delivery stream.+rddCloudWatchLoggingOptions :: Lens' RedshiftDestinationDescription (Maybe CloudWatchLoggingOptions)+rddCloudWatchLoggingOptions = lens _rddCloudWatchLoggingOptions (\ s a -> s{_rddCloudWatchLoggingOptions = a});++-- | The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+rddRetryOptions :: Lens' RedshiftDestinationDescription (Maybe RedshiftRetryOptions)+rddRetryOptions = lens _rddRetryOptions (\ s a -> s{_rddRetryOptions = a});++-- | The data processing configuration.+rddProcessingConfiguration :: Lens' RedshiftDestinationDescription (Maybe ProcessingConfiguration)+rddProcessingConfiguration = lens _rddProcessingConfiguration (\ s a -> s{_rddProcessingConfiguration = a});++-- | The ARN of the AWS credentials.+rddRoleARN :: Lens' RedshiftDestinationDescription Text+rddRoleARN = lens _rddRoleARN (\ s a -> s{_rddRoleARN = a});++-- | The database connection string.+rddClusterJDBCURL :: Lens' RedshiftDestinationDescription Text+rddClusterJDBCURL = lens _rddClusterJDBCURL (\ s a -> s{_rddClusterJDBCURL = a});++-- | The @COPY@ command.+rddCopyCommand :: Lens' RedshiftDestinationDescription CopyCommand+rddCopyCommand = lens _rddCopyCommand (\ s a -> s{_rddCopyCommand = a});++-- | The name of the user.+rddUsername :: Lens' RedshiftDestinationDescription Text+rddUsername = lens _rddUsername (\ s a -> s{_rddUsername = a}) . _Sensitive;++-- | The Amazon S3 destination.+rddS3DestinationDescription :: Lens' RedshiftDestinationDescription S3DestinationDescription+rddS3DestinationDescription = lens _rddS3DestinationDescription (\ s a -> s{_rddS3DestinationDescription = a});++instance FromJSON RedshiftDestinationDescription+ where+ parseJSON+ = withObject "RedshiftDestinationDescription"+ (\ x ->+ RedshiftDestinationDescription' <$>+ (x .:? "S3BackupMode") <*>+ (x .:? "S3BackupDescription")+ <*> (x .:? "CloudWatchLoggingOptions")+ <*> (x .:? "RetryOptions")+ <*> (x .:? "ProcessingConfiguration")+ <*> (x .: "RoleARN")+ <*> (x .: "ClusterJDBCURL")+ <*> (x .: "CopyCommand")+ <*> (x .: "Username")+ <*> (x .: "S3DestinationDescription"))++instance Hashable RedshiftDestinationDescription+ where++instance NFData RedshiftDestinationDescription where++-- | Describes an update for a destination in Amazon Redshift.+--+--+--+-- /See:/ 'redshiftDestinationUpdate' smart constructor.+data RedshiftDestinationUpdate = RedshiftDestinationUpdate'+ { _rduS3BackupMode :: !(Maybe RedshiftS3BackupMode)+ , _rduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _rduUsername :: !(Maybe (Sensitive Text))+ , _rduS3Update :: !(Maybe S3DestinationUpdate)+ , _rduPassword :: !(Maybe (Sensitive Text))+ , _rduS3BackupUpdate :: !(Maybe S3DestinationUpdate)+ , _rduCopyCommand :: !(Maybe CopyCommand)+ , _rduRetryOptions :: !(Maybe RedshiftRetryOptions)+ , _rduProcessingConfiguration :: !(Maybe ProcessingConfiguration)+ , _rduClusterJDBCURL :: !(Maybe Text)+ , _rduRoleARN :: !(Maybe Text)+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RedshiftDestinationUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rduS3BackupMode' - The Amazon S3 backup mode.+--+-- * 'rduCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'rduUsername' - The name of the user.+--+-- * 'rduS3Update' - The Amazon S3 destination. The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationUpdate.S3Update__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.+--+-- * 'rduPassword' - The user password.+--+-- * 'rduS3BackupUpdate' - The Amazon S3 destination for backup.+--+-- * 'rduCopyCommand' - The @COPY@ command.+--+-- * 'rduRetryOptions' - The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+--+-- * 'rduProcessingConfiguration' - The data processing configuration.+--+-- * 'rduClusterJDBCURL' - The database connection string.+--+-- * 'rduRoleARN' - The ARN of the AWS credentials.+redshiftDestinationUpdate+ :: RedshiftDestinationUpdate+redshiftDestinationUpdate =+ RedshiftDestinationUpdate'+ { _rduS3BackupMode = Nothing+ , _rduCloudWatchLoggingOptions = Nothing+ , _rduUsername = Nothing+ , _rduS3Update = Nothing+ , _rduPassword = Nothing+ , _rduS3BackupUpdate = Nothing+ , _rduCopyCommand = Nothing+ , _rduRetryOptions = Nothing+ , _rduProcessingConfiguration = Nothing+ , _rduClusterJDBCURL = Nothing+ , _rduRoleARN = Nothing+ }+++-- | The Amazon S3 backup mode.+rduS3BackupMode :: Lens' RedshiftDestinationUpdate (Maybe RedshiftS3BackupMode)+rduS3BackupMode = lens _rduS3BackupMode (\ s a -> s{_rduS3BackupMode = a});++-- | The CloudWatch logging options for your delivery stream.+rduCloudWatchLoggingOptions :: Lens' RedshiftDestinationUpdate (Maybe CloudWatchLoggingOptions)+rduCloudWatchLoggingOptions = lens _rduCloudWatchLoggingOptions (\ s a -> s{_rduCloudWatchLoggingOptions = a});++-- | The name of the user.+rduUsername :: Lens' RedshiftDestinationUpdate (Maybe Text)+rduUsername = lens _rduUsername (\ s a -> s{_rduUsername = a}) . mapping _Sensitive;++-- | The Amazon S3 destination. The compression formats @SNAPPY@ or @ZIP@ cannot be specified in __RedshiftDestinationUpdate.S3Update__ because the Amazon Redshift @COPY@ operation that reads from the S3 bucket doesn't support these compression formats.+rduS3Update :: Lens' RedshiftDestinationUpdate (Maybe S3DestinationUpdate)+rduS3Update = lens _rduS3Update (\ s a -> s{_rduS3Update = a});++-- | The user password.+rduPassword :: Lens' RedshiftDestinationUpdate (Maybe Text)+rduPassword = lens _rduPassword (\ s a -> s{_rduPassword = a}) . mapping _Sensitive;++-- | The Amazon S3 destination for backup.+rduS3BackupUpdate :: Lens' RedshiftDestinationUpdate (Maybe S3DestinationUpdate)+rduS3BackupUpdate = lens _rduS3BackupUpdate (\ s a -> s{_rduS3BackupUpdate = a});++-- | The @COPY@ command.+rduCopyCommand :: Lens' RedshiftDestinationUpdate (Maybe CopyCommand)+rduCopyCommand = lens _rduCopyCommand (\ s a -> s{_rduCopyCommand = a});++-- | The retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).+rduRetryOptions :: Lens' RedshiftDestinationUpdate (Maybe RedshiftRetryOptions)+rduRetryOptions = lens _rduRetryOptions (\ s a -> s{_rduRetryOptions = a});++-- | The data processing configuration.+rduProcessingConfiguration :: Lens' RedshiftDestinationUpdate (Maybe ProcessingConfiguration)+rduProcessingConfiguration = lens _rduProcessingConfiguration (\ s a -> s{_rduProcessingConfiguration = a});++-- | The database connection string.+rduClusterJDBCURL :: Lens' RedshiftDestinationUpdate (Maybe Text)+rduClusterJDBCURL = lens _rduClusterJDBCURL (\ s a -> s{_rduClusterJDBCURL = a});++-- | The ARN of the AWS credentials.+rduRoleARN :: Lens' RedshiftDestinationUpdate (Maybe Text)+rduRoleARN = lens _rduRoleARN (\ s a -> s{_rduRoleARN = a});++instance Hashable RedshiftDestinationUpdate where++instance NFData RedshiftDestinationUpdate where++instance ToJSON RedshiftDestinationUpdate where+ toJSON RedshiftDestinationUpdate'{..}+ = object+ (catMaybes+ [("S3BackupMode" .=) <$> _rduS3BackupMode,+ ("CloudWatchLoggingOptions" .=) <$>+ _rduCloudWatchLoggingOptions,+ ("Username" .=) <$> _rduUsername,+ ("S3Update" .=) <$> _rduS3Update,+ ("Password" .=) <$> _rduPassword,+ ("S3BackupUpdate" .=) <$> _rduS3BackupUpdate,+ ("CopyCommand" .=) <$> _rduCopyCommand,+ ("RetryOptions" .=) <$> _rduRetryOptions,+ ("ProcessingConfiguration" .=) <$>+ _rduProcessingConfiguration,+ ("ClusterJDBCURL" .=) <$> _rduClusterJDBCURL,+ ("RoleARN" .=) <$> _rduRoleARN])++-- | Configures retry behavior in case Kinesis Firehose is unable to deliver documents to Amazon Redshift.+--+--+--+-- /See:/ 'redshiftRetryOptions' smart constructor.+newtype RedshiftRetryOptions = RedshiftRetryOptions'+ { _rroDurationInSeconds :: Maybe Nat+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RedshiftRetryOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rroDurationInSeconds' - The length of time during which Kinesis Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Firehose does not retry if the value of @DurationInSeconds@ is 0 (zero) or if the first delivery attempt takes longer than the current value.+redshiftRetryOptions+ :: RedshiftRetryOptions+redshiftRetryOptions = RedshiftRetryOptions' {_rroDurationInSeconds = Nothing}+++-- | The length of time during which Kinesis Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Firehose does not retry if the value of @DurationInSeconds@ is 0 (zero) or if the first delivery attempt takes longer than the current value.+rroDurationInSeconds :: Lens' RedshiftRetryOptions (Maybe Natural)+rroDurationInSeconds = lens _rroDurationInSeconds (\ s a -> s{_rroDurationInSeconds = a}) . mapping _Nat;++instance FromJSON RedshiftRetryOptions where+ parseJSON+ = withObject "RedshiftRetryOptions"+ (\ x ->+ RedshiftRetryOptions' <$>+ (x .:? "DurationInSeconds"))++instance Hashable RedshiftRetryOptions where++instance NFData RedshiftRetryOptions where++instance ToJSON RedshiftRetryOptions where+ toJSON RedshiftRetryOptions'{..}+ = object+ (catMaybes+ [("DurationInSeconds" .=) <$> _rroDurationInSeconds])++-- | Describes the configuration of a destination in Amazon S3.+--+--+--+-- /See:/ 's3DestinationConfiguration' smart constructor.+data S3DestinationConfiguration = S3DestinationConfiguration'+ { _sdcPrefix :: !(Maybe Text)+ , _sdcCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _sdcEncryptionConfiguration :: !(Maybe EncryptionConfiguration)+ , _sdcCompressionFormat :: !(Maybe CompressionFormat)+ , _sdcBufferingHints :: !(Maybe BufferingHints)+ , _sdcRoleARN :: !Text+ , _sdcBucketARN :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3DestinationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdcPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'sdcCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'sdcEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+--+-- * 'sdcCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.+--+-- * 'sdcBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.+--+-- * 'sdcRoleARN' - The ARN of the AWS credentials.+--+-- * 'sdcBucketARN' - The ARN of the S3 bucket.+s3DestinationConfiguration+ :: Text -- ^ 'sdcRoleARN'+ -> Text -- ^ 'sdcBucketARN'+ -> S3DestinationConfiguration+s3DestinationConfiguration pRoleARN_ pBucketARN_ =+ S3DestinationConfiguration'+ { _sdcPrefix = Nothing+ , _sdcCloudWatchLoggingOptions = Nothing+ , _sdcEncryptionConfiguration = Nothing+ , _sdcCompressionFormat = Nothing+ , _sdcBufferingHints = Nothing+ , _sdcRoleARN = pRoleARN_+ , _sdcBucketARN = pBucketARN_+ }+++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+sdcPrefix :: Lens' S3DestinationConfiguration (Maybe Text)+sdcPrefix = lens _sdcPrefix (\ s a -> s{_sdcPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+sdcCloudWatchLoggingOptions :: Lens' S3DestinationConfiguration (Maybe CloudWatchLoggingOptions)+sdcCloudWatchLoggingOptions = lens _sdcCloudWatchLoggingOptions (\ s a -> s{_sdcCloudWatchLoggingOptions = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+sdcEncryptionConfiguration :: Lens' S3DestinationConfiguration (Maybe EncryptionConfiguration)+sdcEncryptionConfiguration = lens _sdcEncryptionConfiguration (\ s a -> s{_sdcEncryptionConfiguration = a});++-- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.+sdcCompressionFormat :: Lens' S3DestinationConfiguration (Maybe CompressionFormat)+sdcCompressionFormat = lens _sdcCompressionFormat (\ s a -> s{_sdcCompressionFormat = a});++-- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.+sdcBufferingHints :: Lens' S3DestinationConfiguration (Maybe BufferingHints)+sdcBufferingHints = lens _sdcBufferingHints (\ s a -> s{_sdcBufferingHints = a});++-- | The ARN of the AWS credentials.+sdcRoleARN :: Lens' S3DestinationConfiguration Text+sdcRoleARN = lens _sdcRoleARN (\ s a -> s{_sdcRoleARN = a});++-- | The ARN of the S3 bucket.+sdcBucketARN :: Lens' S3DestinationConfiguration Text+sdcBucketARN = lens _sdcBucketARN (\ s a -> s{_sdcBucketARN = a});++instance Hashable S3DestinationConfiguration where++instance NFData S3DestinationConfiguration where++instance ToJSON S3DestinationConfiguration where+ toJSON S3DestinationConfiguration'{..}+ = object+ (catMaybes+ [("Prefix" .=) <$> _sdcPrefix,+ ("CloudWatchLoggingOptions" .=) <$>+ _sdcCloudWatchLoggingOptions,+ ("EncryptionConfiguration" .=) <$>+ _sdcEncryptionConfiguration,+ ("CompressionFormat" .=) <$> _sdcCompressionFormat,+ ("BufferingHints" .=) <$> _sdcBufferingHints,+ Just ("RoleARN" .= _sdcRoleARN),+ Just ("BucketARN" .= _sdcBucketARN)])++-- | Describes a destination in Amazon S3.+--+--+--+-- /See:/ 's3DestinationDescription' smart constructor.+data S3DestinationDescription = S3DestinationDescription'+ { _sddPrefix :: !(Maybe Text)+ , _sddCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _sddRoleARN :: !Text+ , _sddBucketARN :: !Text+ , _sddBufferingHints :: !BufferingHints+ , _sddCompressionFormat :: !CompressionFormat+ , _sddEncryptionConfiguration :: !EncryptionConfiguration+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3DestinationDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sddPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'sddCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'sddRoleARN' - The ARN of the AWS credentials.+--+-- * 'sddBucketARN' - The ARN of the S3 bucket.+--+-- * 'sddBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.+--+-- * 'sddCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+--+-- * 'sddEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+s3DestinationDescription+ :: Text -- ^ 'sddRoleARN'+ -> Text -- ^ 'sddBucketARN'+ -> BufferingHints -- ^ 'sddBufferingHints'+ -> CompressionFormat -- ^ 'sddCompressionFormat'+ -> EncryptionConfiguration -- ^ 'sddEncryptionConfiguration'+ -> S3DestinationDescription+s3DestinationDescription pRoleARN_ pBucketARN_ pBufferingHints_ pCompressionFormat_ pEncryptionConfiguration_ =+ S3DestinationDescription'+ { _sddPrefix = Nothing+ , _sddCloudWatchLoggingOptions = Nothing+ , _sddRoleARN = pRoleARN_+ , _sddBucketARN = pBucketARN_+ , _sddBufferingHints = pBufferingHints_+ , _sddCompressionFormat = pCompressionFormat_+ , _sddEncryptionConfiguration = pEncryptionConfiguration_+ }+++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+sddPrefix :: Lens' S3DestinationDescription (Maybe Text)+sddPrefix = lens _sddPrefix (\ s a -> s{_sddPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+sddCloudWatchLoggingOptions :: Lens' S3DestinationDescription (Maybe CloudWatchLoggingOptions)+sddCloudWatchLoggingOptions = lens _sddCloudWatchLoggingOptions (\ s a -> s{_sddCloudWatchLoggingOptions = a});++-- | The ARN of the AWS credentials.+sddRoleARN :: Lens' S3DestinationDescription Text+sddRoleARN = lens _sddRoleARN (\ s a -> s{_sddRoleARN = a});++-- | The ARN of the S3 bucket.+sddBucketARN :: Lens' S3DestinationDescription Text+sddBucketARN = lens _sddBucketARN (\ s a -> s{_sddBucketARN = a});++-- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.+sddBufferingHints :: Lens' S3DestinationDescription BufferingHints+sddBufferingHints = lens _sddBufferingHints (\ s a -> s{_sddBufferingHints = a});++-- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ .+sddCompressionFormat :: Lens' S3DestinationDescription CompressionFormat+sddCompressionFormat = lens _sddCompressionFormat (\ s a -> s{_sddCompressionFormat = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+sddEncryptionConfiguration :: Lens' S3DestinationDescription EncryptionConfiguration+sddEncryptionConfiguration = lens _sddEncryptionConfiguration (\ s a -> s{_sddEncryptionConfiguration = a});++instance FromJSON S3DestinationDescription where+ parseJSON+ = withObject "S3DestinationDescription"+ (\ x ->+ S3DestinationDescription' <$>+ (x .:? "Prefix") <*>+ (x .:? "CloudWatchLoggingOptions")+ <*> (x .: "RoleARN")+ <*> (x .: "BucketARN")+ <*> (x .: "BufferingHints")+ <*> (x .: "CompressionFormat")+ <*> (x .: "EncryptionConfiguration"))++instance Hashable S3DestinationDescription where++instance NFData S3DestinationDescription where++-- | Describes an update for a destination in Amazon S3.+--+--+--+-- /See:/ 's3DestinationUpdate' smart constructor.+data S3DestinationUpdate = S3DestinationUpdate'+ { _sduPrefix :: !(Maybe Text)+ , _sduCloudWatchLoggingOptions :: !(Maybe CloudWatchLoggingOptions)+ , _sduEncryptionConfiguration :: !(Maybe EncryptionConfiguration)+ , _sduCompressionFormat :: !(Maybe CompressionFormat)+ , _sduBufferingHints :: !(Maybe BufferingHints)+ , _sduBucketARN :: !(Maybe Text)+ , _sduRoleARN :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3DestinationUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sduPrefix' - The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+--+-- * 'sduCloudWatchLoggingOptions' - The CloudWatch logging options for your delivery stream.+--+-- * 'sduEncryptionConfiguration' - The encryption configuration. If no value is specified, the default is no encryption.+--+-- * 'sduCompressionFormat' - The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.+--+-- * 'sduBufferingHints' - The buffering option. If no value is specified, __BufferingHints__ object default values are used.+--+-- * 'sduBucketARN' - The ARN of the S3 bucket.+--+-- * 'sduRoleARN' - The ARN of the AWS credentials.+s3DestinationUpdate+ :: S3DestinationUpdate+s3DestinationUpdate =+ S3DestinationUpdate'+ { _sduPrefix = Nothing+ , _sduCloudWatchLoggingOptions = Nothing+ , _sduEncryptionConfiguration = Nothing+ , _sduCompressionFormat = Nothing+ , _sduBufferingHints = Nothing+ , _sduBucketARN = Nothing+ , _sduRoleARN = Nothing+ }+++-- | The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see <http://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html Amazon S3 Object Name Format> in the /Amazon Kinesis Firehose Developer Guide/ .+sduPrefix :: Lens' S3DestinationUpdate (Maybe Text)+sduPrefix = lens _sduPrefix (\ s a -> s{_sduPrefix = a});++-- | The CloudWatch logging options for your delivery stream.+sduCloudWatchLoggingOptions :: Lens' S3DestinationUpdate (Maybe CloudWatchLoggingOptions)+sduCloudWatchLoggingOptions = lens _sduCloudWatchLoggingOptions (\ s a -> s{_sduCloudWatchLoggingOptions = a});++-- | The encryption configuration. If no value is specified, the default is no encryption.+sduEncryptionConfiguration :: Lens' S3DestinationUpdate (Maybe EncryptionConfiguration)+sduEncryptionConfiguration = lens _sduEncryptionConfiguration (\ s a -> s{_sduEncryptionConfiguration = a});++-- | The compression format. If no value is specified, the default is @UNCOMPRESSED@ . The compression formats @SNAPPY@ or @ZIP@ cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift @COPY@ operation that reads from the S3 bucket.+sduCompressionFormat :: Lens' S3DestinationUpdate (Maybe CompressionFormat)+sduCompressionFormat = lens _sduCompressionFormat (\ s a -> s{_sduCompressionFormat = a});++-- | The buffering option. If no value is specified, __BufferingHints__ object default values are used.+sduBufferingHints :: Lens' S3DestinationUpdate (Maybe BufferingHints)+sduBufferingHints = lens _sduBufferingHints (\ s a -> s{_sduBufferingHints = a});++-- | The ARN of the S3 bucket.+sduBucketARN :: Lens' S3DestinationUpdate (Maybe Text)+sduBucketARN = lens _sduBucketARN (\ s a -> s{_sduBucketARN = a});++-- | The ARN of the AWS credentials.+sduRoleARN :: Lens' S3DestinationUpdate (Maybe Text)+sduRoleARN = lens _sduRoleARN (\ s a -> s{_sduRoleARN = a});++instance Hashable S3DestinationUpdate where++instance NFData S3DestinationUpdate where++instance ToJSON S3DestinationUpdate where+ toJSON S3DestinationUpdate'{..}+ = object+ (catMaybes+ [("Prefix" .=) <$> _sduPrefix,+ ("CloudWatchLoggingOptions" .=) <$>+ _sduCloudWatchLoggingOptions,+ ("EncryptionConfiguration" .=) <$>+ _sduEncryptionConfiguration,+ ("CompressionFormat" .=) <$> _sduCompressionFormat,+ ("BufferingHints" .=) <$> _sduBufferingHints,+ ("BucketARN" .=) <$> _sduBucketARN,+ ("RoleARN" .=) <$> _sduRoleARN])++-- | /See:/ 'sessionCredentials' smart constructor.+data SessionCredentials = SessionCredentials'+ { _scAccessKeyId :: !Text+ , _scSecretAccessKey :: !Text+ , _scSessionToken :: !Text+ , _scExpiration :: !POSIX+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SessionCredentials' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scAccessKeyId' - Undocumented member.+--+-- * 'scSecretAccessKey' - Undocumented member.+--+-- * 'scSessionToken' - Undocumented member.+--+-- * 'scExpiration' - Undocumented member.+sessionCredentials+ :: Text -- ^ 'scAccessKeyId'+ -> Text -- ^ 'scSecretAccessKey'+ -> Text -- ^ 'scSessionToken'+ -> UTCTime -- ^ 'scExpiration'+ -> SessionCredentials+sessionCredentials pAccessKeyId_ pSecretAccessKey_ pSessionToken_ pExpiration_ =+ SessionCredentials'+ { _scAccessKeyId = pAccessKeyId_+ , _scSecretAccessKey = pSecretAccessKey_+ , _scSessionToken = pSessionToken_+ , _scExpiration = _Time # pExpiration_+ }+++-- | Undocumented member.+scAccessKeyId :: Lens' SessionCredentials Text+scAccessKeyId = lens _scAccessKeyId (\ s a -> s{_scAccessKeyId = a});++-- | Undocumented member.+scSecretAccessKey :: Lens' SessionCredentials Text+scSecretAccessKey = lens _scSecretAccessKey (\ s a -> s{_scSecretAccessKey = a});++-- | Undocumented member.+scSessionToken :: Lens' SessionCredentials Text+scSessionToken = lens _scSessionToken (\ s a -> s{_scSessionToken = a});++-- | Undocumented member.+scExpiration :: Lens' SessionCredentials UTCTime+scExpiration = lens _scExpiration (\ s a -> s{_scExpiration = a}) . _Time;++instance FromJSON SessionCredentials where+ parseJSON+ = withObject "SessionCredentials"+ (\ x ->+ SessionCredentials' <$>+ (x .: "AccessKeyId") <*> (x .: "SecretAccessKey") <*>+ (x .: "SessionToken")+ <*> (x .: "Expiration"))++instance Hashable SessionCredentials where++instance NFData SessionCredentials where++-- | Details about a Kinesis stream used as the source for a Kinesis Firehose delivery stream.+--+--+--+-- /See:/ 'sourceDescription' smart constructor.+newtype SourceDescription = SourceDescription'+ { _sdKinesisStreamSourceDescription :: Maybe KinesisStreamSourceDescription+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SourceDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdKinesisStreamSourceDescription' - The 'KinesisStreamSourceDescription' value for the source Kinesis stream.+sourceDescription+ :: SourceDescription+sourceDescription =+ SourceDescription' {_sdKinesisStreamSourceDescription = Nothing}+++-- | The 'KinesisStreamSourceDescription' value for the source Kinesis stream.+sdKinesisStreamSourceDescription :: Lens' SourceDescription (Maybe KinesisStreamSourceDescription)+sdKinesisStreamSourceDescription = lens _sdKinesisStreamSourceDescription (\ s a -> s{_sdKinesisStreamSourceDescription = a});++instance FromJSON SourceDescription where+ parseJSON+ = withObject "SourceDescription"+ (\ x ->+ SourceDescription' <$>+ (x .:? "KinesisStreamSourceDescription"))++instance Hashable SourceDescription where++instance NFData SourceDescription where
gen/Network/AWS/Firehose/Types/Sum.hs view
@@ -9,23 +9,24 @@ -- | -- Module : Network.AWS.Firehose.Types.Sum--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Firehose.Types.Sum where -import Network.AWS.Prelude+import Network.AWS.Prelude data CompressionFormat- = Gzip- | Snappy- | Uncompressed- | Zip- deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+ = Gzip+ | Snappy+ | Uncompressed+ | Zip+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText CompressionFormat where parser = takeLowerText >>= \case "gzip" -> pure Gzip@@ -55,11 +56,12 @@ parseJSON = parseJSONText "CompressionFormat" data DeliveryStreamStatus- = Active- | Creating- | Deleting- deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+ = Active+ | Creating+ | Deleting+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText DeliveryStreamStatus where parser = takeLowerText >>= \case "active" -> pure Active@@ -83,14 +85,45 @@ instance FromJSON DeliveryStreamStatus where parseJSON = parseJSONText "DeliveryStreamStatus" +data DeliveryStreamType+ = DirectPut+ | KinesisStreamAsSource+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DeliveryStreamType where+ parser = takeLowerText >>= \case+ "directput" -> pure DirectPut+ "kinesisstreamassource" -> pure KinesisStreamAsSource+ e -> fromTextError $ "Failure parsing DeliveryStreamType from value: '" <> e+ <> "'. Accepted values: directput, kinesisstreamassource"++instance ToText DeliveryStreamType where+ toText = \case+ DirectPut -> "DirectPut"+ KinesisStreamAsSource -> "KinesisStreamAsSource"++instance Hashable DeliveryStreamType+instance NFData DeliveryStreamType+instance ToByteString DeliveryStreamType+instance ToQuery DeliveryStreamType+instance ToHeader DeliveryStreamType++instance ToJSON DeliveryStreamType where+ toJSON = toJSONText++instance FromJSON DeliveryStreamType where+ parseJSON = parseJSONText "DeliveryStreamType"+ data ElasticsearchIndexRotationPeriod- = NoRotation- | OneDay- | OneHour- | OneMonth- | OneWeek- deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+ = NoRotation+ | OneDay+ | OneHour+ | OneMonth+ | OneWeek+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ElasticsearchIndexRotationPeriod where parser = takeLowerText >>= \case "norotation" -> pure NoRotation@@ -122,10 +155,11 @@ parseJSON = parseJSONText "ElasticsearchIndexRotationPeriod" data ElasticsearchS3BackupMode- = AllDocuments- | FailedDocumentsOnly- deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+ = AllDocuments+ | FailedDocumentsOnly+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ElasticsearchS3BackupMode where parser = takeLowerText >>= \case "alldocuments" -> pure AllDocuments@@ -151,9 +185,10 @@ parseJSON = parseJSONText "ElasticsearchS3BackupMode" data NoEncryptionConfig =- NoEncryption- deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+ NoEncryption+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText NoEncryptionConfig where parser = takeLowerText >>= \case "noencryption" -> pure NoEncryption@@ -175,3 +210,120 @@ instance FromJSON NoEncryptionConfig where parseJSON = parseJSONText "NoEncryptionConfig"++data ProcessorParameterName+ = LambdaARN+ | NumberOfRetries+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ProcessorParameterName where+ parser = takeLowerText >>= \case+ "lambdaarn" -> pure LambdaARN+ "numberofretries" -> pure NumberOfRetries+ e -> fromTextError $ "Failure parsing ProcessorParameterName from value: '" <> e+ <> "'. Accepted values: lambdaarn, numberofretries"++instance ToText ProcessorParameterName where+ toText = \case+ LambdaARN -> "LambdaArn"+ NumberOfRetries -> "NumberOfRetries"++instance Hashable ProcessorParameterName+instance NFData ProcessorParameterName+instance ToByteString ProcessorParameterName+instance ToQuery ProcessorParameterName+instance ToHeader ProcessorParameterName++instance ToJSON ProcessorParameterName where+ toJSON = toJSONText++instance FromJSON ProcessorParameterName where+ parseJSON = parseJSONText "ProcessorParameterName"++data ProcessorType =+ Lambda+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ProcessorType where+ parser = takeLowerText >>= \case+ "lambda" -> pure Lambda+ e -> fromTextError $ "Failure parsing ProcessorType from value: '" <> e+ <> "'. Accepted values: lambda"++instance ToText ProcessorType where+ toText = \case+ Lambda -> "Lambda"++instance Hashable ProcessorType+instance NFData ProcessorType+instance ToByteString ProcessorType+instance ToQuery ProcessorType+instance ToHeader ProcessorType++instance ToJSON ProcessorType where+ toJSON = toJSONText++instance FromJSON ProcessorType where+ parseJSON = parseJSONText "ProcessorType"++data RedshiftS3BackupMode+ = Disabled+ | Enabled+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText RedshiftS3BackupMode where+ parser = takeLowerText >>= \case+ "disabled" -> pure Disabled+ "enabled" -> pure Enabled+ e -> fromTextError $ "Failure parsing RedshiftS3BackupMode from value: '" <> e+ <> "'. Accepted values: disabled, enabled"++instance ToText RedshiftS3BackupMode where+ toText = \case+ Disabled -> "Disabled"+ Enabled -> "Enabled"++instance Hashable RedshiftS3BackupMode+instance NFData RedshiftS3BackupMode+instance ToByteString RedshiftS3BackupMode+instance ToQuery RedshiftS3BackupMode+instance ToHeader RedshiftS3BackupMode++instance ToJSON RedshiftS3BackupMode where+ toJSON = toJSONText++instance FromJSON RedshiftS3BackupMode where+ parseJSON = parseJSONText "RedshiftS3BackupMode"++data S3BackupMode+ = SBMDisabled+ | SBMEnabled+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText S3BackupMode where+ parser = takeLowerText >>= \case+ "disabled" -> pure SBMDisabled+ "enabled" -> pure SBMEnabled+ e -> fromTextError $ "Failure parsing S3BackupMode from value: '" <> e+ <> "'. Accepted values: disabled, enabled"++instance ToText S3BackupMode where+ toText = \case+ SBMDisabled -> "Disabled"+ SBMEnabled -> "Enabled"++instance Hashable S3BackupMode+instance NFData S3BackupMode+instance ToByteString S3BackupMode+instance ToQuery S3BackupMode+instance ToHeader S3BackupMode++instance ToJSON S3BackupMode where+ toJSON = toJSONText++instance FromJSON S3BackupMode where+ parseJSON = parseJSONText "S3BackupMode"
gen/Network/AWS/Firehose/UpdateDestination.hs view
@@ -12,23 +12,25 @@ -- | -- Module : Network.AWS.Firehose.UpdateDestination--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the specified destination of the specified delivery stream. Note: Switching between Elasticsearch and other services is not supported. For Elasticsearch destination, you can only update an existing Elasticsearch destination with this operation.+-- Updates the specified destination of the specified delivery stream. -- ----- This operation can be used to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a given destination (for example, to change the bucket name of the Amazon S3 destination). The update may not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are normally effective within a few minutes.+-- You can use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes. ----- If the destination type is the same, Firehose merges the configuration parameters specified in the 'UpdateDestination' request with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the update request, then the existing configuration parameters are retained. For example, in the Amazon S3 destination, if 'EncryptionConfiguration' is not specified then the existing 'EncryptionConfiguration' is maintained on the destination.+-- Note that switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination. ----- If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Firehose does not merge any parameters. In this case, all parameters must be specified.+-- If the destination type is the same, Kinesis Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if 'EncryptionConfiguration' is not specified, then the existing 'EncryptionConfiguration' is maintained on the destination. ----- Firehose uses the __CurrentDeliveryStreamVersionId__ to avoid race conditions and conflicting merges. This is a required field in every request and the service only updates the configuration if the existing configuration matches the __VersionId__ . After the update is applied successfully, the __VersionId__ is updated, which can be retrieved with the 'DescribeDeliveryStream' operation. The new __VersionId__ should be uses to set __CurrentDeliveryStreamVersionId__ in the next 'UpdateDestination' operation.+-- If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Firehose does not merge any parameters. In this case, all parameters must be specified. --+-- Kinesis Firehose uses __CurrentDeliveryStreamVersionId__ to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using 'DescribeDeliveryStream' . Use the new version ID to set __CurrentDeliveryStreamVersionId__ in the next call.+-- module Network.AWS.Firehose.UpdateDestination ( -- * Creating a Request@@ -38,6 +40,7 @@ , udS3DestinationUpdate , udRedshiftDestinationUpdate , udElasticsearchDestinationUpdate+ , udExtendedS3DestinationUpdate , udDeliveryStreamName , udCurrentDeliveryStreamVersionId , udDestinationId@@ -49,40 +52,40 @@ , udrsResponseStatus ) where -import Network.AWS.Firehose.Types-import Network.AWS.Firehose.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response+import Network.AWS.Firehose.Types+import Network.AWS.Firehose.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for 'UpdateDestination' .------------ /See:/ 'updateDestination' smart constructor.+-- | /See:/ 'updateDestination' smart constructor. data UpdateDestination = UpdateDestination'- { _udS3DestinationUpdate :: !(Maybe S3DestinationUpdate)- , _udRedshiftDestinationUpdate :: !(Maybe RedshiftDestinationUpdate)- , _udElasticsearchDestinationUpdate :: !(Maybe ElasticsearchDestinationUpdate)- , _udDeliveryStreamName :: !Text- , _udCurrentDeliveryStreamVersionId :: !Text- , _udDestinationId :: !Text- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _udS3DestinationUpdate :: !(Maybe S3DestinationUpdate)+ , _udRedshiftDestinationUpdate :: !(Maybe RedshiftDestinationUpdate)+ , _udElasticsearchDestinationUpdate :: !(Maybe ElasticsearchDestinationUpdate)+ , _udExtendedS3DestinationUpdate :: !(Maybe ExtendedS3DestinationUpdate)+ , _udDeliveryStreamName :: !Text+ , _udCurrentDeliveryStreamVersionId :: !Text+ , _udDestinationId :: !Text+ } deriving (Eq, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDestination' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'udS3DestinationUpdate' - Describes an update for a destination in Amazon S3.+-- * 'udS3DestinationUpdate' - [Deprecated] Describes an update for a destination in Amazon S3. -- -- * 'udRedshiftDestinationUpdate' - Describes an update for a destination in Amazon Redshift. -- -- * 'udElasticsearchDestinationUpdate' - Describes an update for a destination in Amazon ES. --+-- * 'udExtendedS3DestinationUpdate' - Describes an update for a destination in Amazon S3.+-- -- * 'udDeliveryStreamName' - The name of the delivery stream. ----- * 'udCurrentDeliveryStreamVersionId' - Obtain this value from the __VersionId__ result of the 'DeliveryStreamDescription' operation. This value is required, and helps the service to perform conditional operations. For example, if there is a interleaving update and this value is null, then the update destination fails. After the update is successful, the __VersionId__ value is updated. The service then performs a merge of the old configuration with the new configuration.+-- * 'udCurrentDeliveryStreamVersionId' - Obtain this value from the __VersionId__ result of 'DeliveryStreamDescription' . This value is required, and helps the service to perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the __VersionId__ value is updated. The service then performs a merge of the old configuration with the new configuration. -- -- * 'udDestinationId' - The ID of the destination. updateDestination@@ -91,16 +94,18 @@ -> Text -- ^ 'udDestinationId' -> UpdateDestination updateDestination pDeliveryStreamName_ pCurrentDeliveryStreamVersionId_ pDestinationId_ =- UpdateDestination'- { _udS3DestinationUpdate = Nothing- , _udRedshiftDestinationUpdate = Nothing- , _udElasticsearchDestinationUpdate = Nothing- , _udDeliveryStreamName = pDeliveryStreamName_- , _udCurrentDeliveryStreamVersionId = pCurrentDeliveryStreamVersionId_- , _udDestinationId = pDestinationId_- }+ UpdateDestination'+ { _udS3DestinationUpdate = Nothing+ , _udRedshiftDestinationUpdate = Nothing+ , _udElasticsearchDestinationUpdate = Nothing+ , _udExtendedS3DestinationUpdate = Nothing+ , _udDeliveryStreamName = pDeliveryStreamName_+ , _udCurrentDeliveryStreamVersionId = pCurrentDeliveryStreamVersionId_+ , _udDestinationId = pDestinationId_+ } --- | Describes an update for a destination in Amazon S3.++-- | [Deprecated] Describes an update for a destination in Amazon S3. udS3DestinationUpdate :: Lens' UpdateDestination (Maybe S3DestinationUpdate) udS3DestinationUpdate = lens _udS3DestinationUpdate (\ s a -> s{_udS3DestinationUpdate = a}); @@ -112,11 +117,15 @@ udElasticsearchDestinationUpdate :: Lens' UpdateDestination (Maybe ElasticsearchDestinationUpdate) udElasticsearchDestinationUpdate = lens _udElasticsearchDestinationUpdate (\ s a -> s{_udElasticsearchDestinationUpdate = a}); +-- | Describes an update for a destination in Amazon S3.+udExtendedS3DestinationUpdate :: Lens' UpdateDestination (Maybe ExtendedS3DestinationUpdate)+udExtendedS3DestinationUpdate = lens _udExtendedS3DestinationUpdate (\ s a -> s{_udExtendedS3DestinationUpdate = a});+ -- | The name of the delivery stream. udDeliveryStreamName :: Lens' UpdateDestination Text udDeliveryStreamName = lens _udDeliveryStreamName (\ s a -> s{_udDeliveryStreamName = a}); --- | Obtain this value from the __VersionId__ result of the 'DeliveryStreamDescription' operation. This value is required, and helps the service to perform conditional operations. For example, if there is a interleaving update and this value is null, then the update destination fails. After the update is successful, the __VersionId__ value is updated. The service then performs a merge of the old configuration with the new configuration.+-- | Obtain this value from the __VersionId__ result of 'DeliveryStreamDescription' . This value is required, and helps the service to perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the __VersionId__ value is updated. The service then performs a merge of the old configuration with the new configuration. udCurrentDeliveryStreamVersionId :: Lens' UpdateDestination Text udCurrentDeliveryStreamVersionId = lens _udCurrentDeliveryStreamVersionId (\ s a -> s{_udCurrentDeliveryStreamVersionId = a}); @@ -132,9 +141,9 @@ (\ s h x -> UpdateDestinationResponse' <$> (pure (fromEnum s))) -instance Hashable UpdateDestination+instance Hashable UpdateDestination where -instance NFData UpdateDestination+instance NFData UpdateDestination where instance ToHeaders UpdateDestination where toHeaders@@ -156,6 +165,8 @@ _udRedshiftDestinationUpdate, ("ElasticsearchDestinationUpdate" .=) <$> _udElasticsearchDestinationUpdate,+ ("ExtendedS3DestinationUpdate" .=) <$>+ _udExtendedS3DestinationUpdate, Just ("DeliveryStreamName" .= _udDeliveryStreamName), Just ("CurrentDeliveryStreamVersionId" .=@@ -168,15 +179,12 @@ instance ToQuery UpdateDestination where toQuery = const mempty --- | Contains the output of 'UpdateDestination' .------------ /See:/ 'updateDestinationResponse' smart constructor.+-- | /See:/ 'updateDestinationResponse' smart constructor. newtype UpdateDestinationResponse = UpdateDestinationResponse'- { _udrsResponseStatus :: Int- } deriving (Eq,Read,Show,Data,Typeable,Generic)+ { _udrsResponseStatus :: Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDestinationResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -186,12 +194,11 @@ :: Int -- ^ 'udrsResponseStatus' -> UpdateDestinationResponse updateDestinationResponse pResponseStatus_ =- UpdateDestinationResponse'- { _udrsResponseStatus = pResponseStatus_- }+ UpdateDestinationResponse' {_udrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. udrsResponseStatus :: Lens' UpdateDestinationResponse Int udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a}); -instance NFData UpdateDestinationResponse+instance NFData UpdateDestinationResponse where
gen/Network/AWS/Firehose/Waiters.hs view
@@ -7,15 +7,15 @@ -- | -- Module : Network.AWS.Firehose.Waiters--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Firehose.Waiters where -import Network.AWS.Firehose.Types-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Waiter+import Network.AWS.Firehose.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
test/Main.hs view
@@ -2,9 +2,9 @@ -- | -- Module : Main--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/Firehose.hs view
@@ -5,20 +5,20 @@ -- | -- Module : Test.AWS.Gen.Firehose--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.Firehose where import Data.Proxy+import Network.AWS.Firehose+import Test.AWS.Firehose.Internal import Test.AWS.Fixture import Test.AWS.Prelude import Test.Tasty-import Network.AWS.Firehose-import Test.AWS.Firehose.Internal -- Auto-generated: the actual test selection needs to be manually placed into -- the top-level so that real test data can be incrementally added.@@ -31,6 +31,9 @@ -- [ requestPutRecord $ -- putRecord --+-- , requestGetKinesisStream $+-- getKinesisStream+-- -- , requestUpdateDestination $ -- updateDestination --@@ -55,6 +58,9 @@ -- [ responsePutRecord $ -- putRecordResponse --+-- , responseGetKinesisStream $+-- getKinesisStreamResponse+-- -- , responseUpdateDestination $ -- updateDestinationResponse --@@ -83,6 +89,11 @@ "PutRecord" "fixture/PutRecord.yaml" +requestGetKinesisStream :: GetKinesisStream -> TestTree+requestGetKinesisStream = req+ "GetKinesisStream"+ "fixture/GetKinesisStream.yaml"+ requestUpdateDestination :: UpdateDestination -> TestTree requestUpdateDestination = req "UpdateDestination"@@ -121,6 +132,13 @@ "fixture/PutRecordResponse.proto" firehose (Proxy :: Proxy PutRecord)++responseGetKinesisStream :: GetKinesisStreamResponse -> TestTree+responseGetKinesisStream = res+ "GetKinesisStreamResponse"+ "fixture/GetKinesisStreamResponse.proto"+ firehose+ (Proxy :: Proxy GetKinesisStream) responseUpdateDestination :: UpdateDestinationResponse -> TestTree responseUpdateDestination = res