Skip to content

Commit

Permalink
Regenerating Kinesis Firehose from latest service definition
Browse files Browse the repository at this point in the history
  • Loading branch information
brendanhay committed May 4, 2016
1 parent 820adea commit cf4d8a9
Show file tree
Hide file tree
Showing 12 changed files with 1,013 additions and 167 deletions.
5 changes: 3 additions & 2 deletions amazonka-kinesis-firehose/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@
Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully-managed service that delivers
real-time streaming data to destinations such as Amazon S3 and Amazon
Redshift.
real-time streaming data to destinations such as Amazon Simple Storage
Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and
Amazon Redshift.

Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-kinesis-firehose)
and the [AWS API Reference](https://aws.amazon.com/documentation/).
Expand Down
5 changes: 3 additions & 2 deletions amazonka-kinesis-firehose/amazonka-kinesis-firehose.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ description:
Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully-managed service that delivers
real-time streaming data to destinations such as Amazon S3 and Amazon
Redshift.
real-time streaming data to destinations such as Amazon Simple Storage
Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and
Amazon Redshift.
.
The types from this library are intended to be used with
<http://hackage.haskell.org/package/amazonka amazonka>, which provides
Expand Down
77 changes: 75 additions & 2 deletions amazonka-kinesis-firehose/gen/Network/AWS/Firehose.hs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@
-- Amazon Kinesis Firehose API Reference
--
-- Amazon Kinesis Firehose is a fully-managed service that delivers
-- real-time streaming data to destinations such as Amazon S3 and Amazon
-- Redshift.
-- 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
(
-- * Service Configuration
Expand Down Expand Up @@ -77,6 +78,12 @@ module Network.AWS.Firehose
-- ** DeliveryStreamStatus
, DeliveryStreamStatus (..)

-- ** ElasticsearchIndexRotationPeriod
, ElasticsearchIndexRotationPeriod (..)

-- ** ElasticsearchS3BackupMode
, ElasticsearchS3BackupMode (..)

-- ** NoEncryptionConfig
, NoEncryptionConfig (..)

Expand All @@ -86,6 +93,13 @@ module Network.AWS.Firehose
, bhSizeInMBs
, bhIntervalInSeconds

-- ** CloudWatchLoggingOptions
, CloudWatchLoggingOptions
, cloudWatchLoggingOptions
, cwloEnabled
, cwloLogGroupName
, cwloLogStreamName

-- ** CopyCommand
, CopyCommand
, copyCommand
Expand All @@ -109,9 +123,62 @@ module Network.AWS.Firehose
, DestinationDescription
, destinationDescription
, ddS3DestinationDescription
, ddElasticsearchDestinationDescription
, ddRedshiftDestinationDescription
, ddDestinationId

-- ** ElasticsearchBufferingHints
, ElasticsearchBufferingHints
, elasticsearchBufferingHints
, ebhSizeInMBs
, ebhIntervalInSeconds

-- ** ElasticsearchDestinationConfiguration
, ElasticsearchDestinationConfiguration
, elasticsearchDestinationConfiguration
, edcIndexRotationPeriod
, edcS3BackupMode
, edcCloudWatchLoggingOptions
, edcBufferingHints
, edcRetryOptions
, edcRoleARN
, edcDomainARN
, edcIndexName
, edcTypeName
, edcS3Configuration

-- ** ElasticsearchDestinationDescription
, ElasticsearchDestinationDescription
, elasticsearchDestinationDescription
, eddIndexRotationPeriod
, eddTypeName
, eddS3BackupMode
, eddDomainARN
, eddCloudWatchLoggingOptions
, eddS3DestinationDescription
, eddBufferingHints
, eddRetryOptions
, eddRoleARN
, eddIndexName

-- ** ElasticsearchDestinationUpdate
, ElasticsearchDestinationUpdate
, elasticsearchDestinationUpdate
, eduIndexRotationPeriod
, eduTypeName
, eduDomainARN
, eduCloudWatchLoggingOptions
, eduS3Update
, eduBufferingHints
, eduRetryOptions
, eduRoleARN
, eduIndexName

-- ** ElasticsearchRetryOptions
, ElasticsearchRetryOptions
, elasticsearchRetryOptions
, eroDurationInSeconds

-- ** EncryptionConfiguration
, EncryptionConfiguration
, encryptionConfiguration
Expand All @@ -138,6 +205,7 @@ module Network.AWS.Firehose
-- ** RedshiftDestinationConfiguration
, RedshiftDestinationConfiguration
, redshiftDestinationConfiguration
, rdcCloudWatchLoggingOptions
, rdcRoleARN
, rdcClusterJDBCURL
, rdcCopyCommand
Expand All @@ -148,6 +216,7 @@ module Network.AWS.Firehose
-- ** RedshiftDestinationDescription
, RedshiftDestinationDescription
, redshiftDestinationDescription
, rddCloudWatchLoggingOptions
, rddRoleARN
, rddClusterJDBCURL
, rddCopyCommand
Expand All @@ -157,6 +226,7 @@ module Network.AWS.Firehose
-- ** RedshiftDestinationUpdate
, RedshiftDestinationUpdate
, redshiftDestinationUpdate
, rduCloudWatchLoggingOptions
, rduUsername
, rduS3Update
, rduPassword
Expand All @@ -168,6 +238,7 @@ module Network.AWS.Firehose
, S3DestinationConfiguration
, s3DestinationConfiguration
, sdcPrefix
, sdcCloudWatchLoggingOptions
, sdcEncryptionConfiguration
, sdcCompressionFormat
, sdcBufferingHints
Expand All @@ -178,6 +249,7 @@ module Network.AWS.Firehose
, S3DestinationDescription
, s3DestinationDescription
, sddPrefix
, sddCloudWatchLoggingOptions
, sddRoleARN
, sddBucketARN
, sddBufferingHints
Expand All @@ -188,6 +260,7 @@ module Network.AWS.Firehose
, S3DestinationUpdate
, s3DestinationUpdate
, sduPrefix
, sduCloudWatchLoggingOptions
, sduEncryptionConfiguration
, sduCompressionFormat
, sduBufferingHints
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,46 +32,45 @@
-- streams in different AWS accounts or different regions in the same AWS
-- account can have the same name.
--
-- By default, you can create up to 5 delivery streams per region.
-- By default, you can create up to 20 delivery streams per region.
--
-- A delivery stream can only be configured with a single destination,
-- Amazon S3 or Amazon Redshift. For correct < CreateDeliveryStream>
-- request syntax, specify only one destination configuration parameter:
-- either 'RedshiftDestinationConfiguration' or
-- 'S3DestinationConfiguration'
--
-- As part of 'S3DestinationConfiguration', optional values
-- 'BufferingHints', 'EncryptionConfiguration', and 'CompressionFormat' can
-- be provided. By default, if no 'BufferingHints' value is provided,
-- Amazon 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':
-- either __ElasticsearchDestinationConfiguration__,
-- __RedshiftDestinationConfiguration__ or __S3DestinationConfiguration__
--
-- 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.
--
-- A few notes about __RedshiftDestinationConfiguration__:
--
-- - An Amazon Redshift destination requires an S3 bucket as intermediate
-- location, as Amazon 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
-- element.
-- 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.
-- - The compression formats 'SNAPPY' or 'ZIP' cannot be specified in
-- 'RedshiftDestinationConfiguration.S3Configuration' because the
-- __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 Amazon Kinesis Firehose purposes, and that the
-- permissions for the account are restricted for Amazon Redshift
-- 'INSERT' permissions.
--
-- Amazon Kinesis Firehose assumes the IAM role that is configured as part
-- of destinations. The IAM role should allow the Amazon Kinesis Firehose
-- principal to assume the role, and the role should have permissions that
-- allows the service to deliver the data. For more information, see
-- used exclusively for Firehose purposes, 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/.
module Network.AWS.Firehose.CreateDeliveryStream
Expand All @@ -82,6 +81,7 @@ module Network.AWS.Firehose.CreateDeliveryStream
-- * Request Lenses
, cdsS3DestinationConfiguration
, cdsRedshiftDestinationConfiguration
, cdsElasticsearchDestinationConfiguration
, cdsDeliveryStreamName

-- * Destructuring the Response
Expand All @@ -103,9 +103,10 @@ import Network.AWS.Response
--
-- /See:/ 'createDeliveryStream' smart constructor.
data CreateDeliveryStream = CreateDeliveryStream'
{ _cdsS3DestinationConfiguration :: !(Maybe S3DestinationConfiguration)
, _cdsRedshiftDestinationConfiguration :: !(Maybe RedshiftDestinationConfiguration)
, _cdsDeliveryStreamName :: !Text
{ _cdsS3DestinationConfiguration :: !(Maybe S3DestinationConfiguration)
, _cdsRedshiftDestinationConfiguration :: !(Maybe RedshiftDestinationConfiguration)
, _cdsElasticsearchDestinationConfiguration :: !(Maybe ElasticsearchDestinationConfiguration)
, _cdsDeliveryStreamName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)

-- | Creates a value of 'CreateDeliveryStream' with the minimum fields required to make a request.
Expand All @@ -116,6 +117,8 @@ data CreateDeliveryStream = CreateDeliveryStream'
--
-- * 'cdsRedshiftDestinationConfiguration'
--
-- * 'cdsElasticsearchDestinationConfiguration'
--
-- * 'cdsDeliveryStreamName'
createDeliveryStream
:: Text -- ^ 'cdsDeliveryStreamName'
Expand All @@ -124,20 +127,29 @@ createDeliveryStream pDeliveryStreamName_ =
CreateDeliveryStream'
{ _cdsS3DestinationConfiguration = Nothing
, _cdsRedshiftDestinationConfiguration = Nothing
, _cdsElasticsearchDestinationConfiguration = Nothing
, _cdsDeliveryStreamName = pDeliveryStreamName_
}

-- | The destination in Amazon S3. This value must be specified if
-- 'RedshiftDestinationConfiguration' is specified (see restrictions listed
-- above).
-- __ElasticsearchDestinationConfiguration__ or
-- __RedshiftDestinationConfiguration__ is specified (see restrictions
-- listed above).
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 is the desired destination (see restrictions listed above).
-- Amazon S3 or Amazon Elasticsearch is the desired destination (see
-- restrictions listed above).
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).
cdsElasticsearchDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe ElasticsearchDestinationConfiguration)
cdsElasticsearchDestinationConfiguration = lens _cdsElasticsearchDestinationConfiguration (\ s a -> s{_cdsElasticsearchDestinationConfiguration = a});

-- | The name of the delivery stream.
cdsDeliveryStreamName :: Lens' CreateDeliveryStream Text
cdsDeliveryStreamName = lens _cdsDeliveryStreamName (\ s a -> s{_cdsDeliveryStreamName = a});
Expand Down Expand Up @@ -174,6 +186,8 @@ instance ToJSON CreateDeliveryStream where
_cdsS3DestinationConfiguration,
("RedshiftDestinationConfiguration" .=) <$>
_cdsRedshiftDestinationConfiguration,
("ElasticsearchDestinationConfiguration" .=) <$>
_cdsElasticsearchDestinationConfiguration,
Just
("DeliveryStreamName" .= _cdsDeliveryStreamName)])

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ describeDeliveryStream pDeliveryStreamName_ =
}

-- | Specifies the destination ID to start returning the destination
-- information. Currently Amazon Kinesis Firehose supports one destination
-- per delivery stream.
-- information. Currently Firehose supports one destination per delivery
-- stream.
ddsExclusiveStartDestinationId :: Lens' DescribeDeliveryStream (Maybe Text)
ddsExclusiveStartDestinationId = lens _ddsExclusiveStartDestinationId (\ s a -> s{_ddsExclusiveStartDestinationId = a});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
--
-- The number of delivery streams might be too large to return using a
-- single call to < ListDeliveryStreams>. You can limit the number of
-- delivery streams returned, using the 'Limit' parameter. To determine
-- delivery streams returned, using the __Limit__ parameter. To determine
-- whether there are more delivery streams to list, check the value of
-- 'HasMoreDeliveryStreams' in the output. If there are more delivery
-- __HasMoreDeliveryStreams__ in the output. If there are more delivery
-- streams to list, you can request them by specifying the name of the last
-- delivery stream returned in the call in the
-- 'ExclusiveStartDeliveryStreamName' parameter of a subsequent call.
-- __ExclusiveStartDeliveryStreamName__ parameter of a subsequent call.
module Network.AWS.Firehose.ListDeliveryStreams
(
-- * Creating a Request
Expand Down
25 changes: 10 additions & 15 deletions amazonka-kinesis-firehose/gen/Network/AWS/Firehose/PutRecord.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,30 +36,25 @@
-- segment from a log file, geographic location data, web site clickstream
-- data, etc.
--
-- Amazon 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
-- 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.
--
-- Amazon Kinesis Firehose does not maintain data record ordering. If the
-- destination data needs to be re-ordered by the consumer application, the
-- producer should include some form of sequence number in each data
-- record.
--
-- The < PutRecord> operation returns a 'RecordId', which is a unique
-- 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',
-- 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 Amazon 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.
-- 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.
module Network.AWS.Firehose.PutRecord
(
-- * Creating a Request
Expand Down
Loading

0 comments on commit cf4d8a9

Please sign in to comment.