amazonka-kinesis-firehose-1.4.1: Amazon Kinesis Firehose SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.Firehose.CreateDeliveryStream

Contents

Description

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.

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.

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 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 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 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.

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 Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.

Synopsis

Creating a Request

createDeliveryStream Source #

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:

data CreateDeliveryStream Source #

Contains the parameters for CreateDeliveryStream.

See: createDeliveryStream smart constructor.

Instances

Eq CreateDeliveryStream Source # 
Data CreateDeliveryStream Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateDeliveryStream -> c CreateDeliveryStream #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateDeliveryStream #

toConstr :: CreateDeliveryStream -> Constr #

dataTypeOf :: CreateDeliveryStream -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateDeliveryStream) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateDeliveryStream) #

gmapT :: (forall b. Data b => b -> b) -> CreateDeliveryStream -> CreateDeliveryStream #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateDeliveryStream -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateDeliveryStream -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateDeliveryStream -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateDeliveryStream -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateDeliveryStream -> m CreateDeliveryStream #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateDeliveryStream -> m CreateDeliveryStream #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateDeliveryStream -> m CreateDeliveryStream #

Read CreateDeliveryStream Source # 
Show CreateDeliveryStream Source # 
Generic CreateDeliveryStream Source # 
Hashable CreateDeliveryStream Source # 
ToJSON CreateDeliveryStream Source # 
NFData CreateDeliveryStream Source # 

Methods

rnf :: CreateDeliveryStream -> () #

AWSRequest CreateDeliveryStream Source # 
ToQuery CreateDeliveryStream Source # 
ToPath CreateDeliveryStream Source # 
ToHeaders CreateDeliveryStream Source # 
type Rep CreateDeliveryStream Source # 
type Rep CreateDeliveryStream = D1 (MetaData "CreateDeliveryStream" "Network.AWS.Firehose.CreateDeliveryStream" "amazonka-kinesis-firehose-1.4.1-LurRIkJXk0rCWYtVdrxdQI" False) (C1 (MetaCons "CreateDeliveryStream'" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_cdsS3DestinationConfiguration") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe S3DestinationConfiguration))) (S1 (MetaSel (Just Symbol "_cdsRedshiftDestinationConfiguration") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe RedshiftDestinationConfiguration)))) ((:*:) (S1 (MetaSel (Just Symbol "_cdsElasticsearchDestinationConfiguration") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe ElasticsearchDestinationConfiguration))) (S1 (MetaSel (Just Symbol "_cdsDeliveryStreamName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))
type Rs CreateDeliveryStream Source # 

Request Lenses

cdsS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe S3DestinationConfiguration) Source #

The destination in Amazon S3. This value must be specified if ElasticsearchDestinationConfiguration or RedshiftDestinationConfiguration is specified (see restrictions listed above).

cdsRedshiftDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe RedshiftDestinationConfiguration) Source #

The destination in Amazon Redshift. This value cannot be specified if Amazon S3 or Amazon Elasticsearch is the desired destination (see restrictions listed above).

cdsElasticsearchDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe ElasticsearchDestinationConfiguration) Source #

The destination in Amazon ES. This value cannot be specified if Amazon S3 or Amazon Redshift is the desired destination (see restrictions listed above).

cdsDeliveryStreamName :: Lens' CreateDeliveryStream Text Source #

The name of the delivery stream.

Destructuring the Response

createDeliveryStreamResponse Source #

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:

data CreateDeliveryStreamResponse Source #

Contains the output of CreateDeliveryStream.

See: createDeliveryStreamResponse smart constructor.

Instances

Eq CreateDeliveryStreamResponse Source # 
Data CreateDeliveryStreamResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateDeliveryStreamResponse -> c CreateDeliveryStreamResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateDeliveryStreamResponse #

toConstr :: CreateDeliveryStreamResponse -> Constr #

dataTypeOf :: CreateDeliveryStreamResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateDeliveryStreamResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateDeliveryStreamResponse) #

gmapT :: (forall b. Data b => b -> b) -> CreateDeliveryStreamResponse -> CreateDeliveryStreamResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateDeliveryStreamResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateDeliveryStreamResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateDeliveryStreamResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateDeliveryStreamResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateDeliveryStreamResponse -> m CreateDeliveryStreamResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateDeliveryStreamResponse -> m CreateDeliveryStreamResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateDeliveryStreamResponse -> m CreateDeliveryStreamResponse #

Read CreateDeliveryStreamResponse Source # 
Show CreateDeliveryStreamResponse Source # 
Generic CreateDeliveryStreamResponse Source # 
NFData CreateDeliveryStreamResponse Source # 
type Rep CreateDeliveryStreamResponse Source # 
type Rep CreateDeliveryStreamResponse = D1 (MetaData "CreateDeliveryStreamResponse" "Network.AWS.Firehose.CreateDeliveryStream" "amazonka-kinesis-firehose-1.4.1-LurRIkJXk0rCWYtVdrxdQI" False) (C1 (MetaCons "CreateDeliveryStreamResponse'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cdsrsDeliveryStreamARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_cdsrsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int))))

Response Lenses