UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

810 lines 194 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { aws_kinesis as kinesisRefs } from "../../interfaces"; import { DeliveryStreamReference, IDeliveryStreamRef } from "../../interfaces/generated/aws-kinesisfirehose-interfaces.generated"; /** * The `AWS::KinesisFirehose::DeliveryStream` resource specifies an Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivery stream that delivers real-time streaming data to an Amazon Simple Storage Service (Amazon S3), Amazon Redshift, or Amazon Elasticsearch Service (Amazon ES) destination. * * For more information, see [Creating an Amazon Kinesis Data Firehose Delivery Stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) in the *Amazon Kinesis Data Firehose Developer Guide* . * * @cloudformationResource AWS::KinesisFirehose::DeliveryStream * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html */ export declare class CfnDeliveryStream extends cdk.CfnResource implements cdk.IInspectable, IDeliveryStreamRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDeliveryStream from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeliveryStream; /** * Checks whether the given object is a CfnDeliveryStream */ static isCfnDeliveryStream(x: any): x is CfnDeliveryStream; /** * Creates a new IDeliveryStreamRef from an ARN */ static fromDeliveryStreamArn(scope: constructs.Construct, id: string, arn: string): IDeliveryStreamRef; /** * Creates a new IDeliveryStreamRef from a deliveryStreamName */ static fromDeliveryStreamName(scope: constructs.Construct, id: string, deliveryStreamName: string): IDeliveryStreamRef; static arnForDeliveryStream(resource: IDeliveryStreamRef): string; /** * Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service. */ private _amazonOpenSearchServerlessDestinationConfiguration?; /** * The destination in Amazon OpenSearch Service. */ private _amazonopensearchserviceDestinationConfiguration?; /** * The top level object for configuring streams with database as a source. */ private _databaseSourceConfiguration?; /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). */ private _deliveryStreamEncryptionConfigurationInput?; /** * The name of the Firehose stream. */ private _deliveryStreamName?; /** * The Firehose stream type. This can be one of the following values:. */ private _deliveryStreamType?; /** * The structure that configures parameters such as `ThroughputHintInMBs` for a stream configured with Direct PUT as a source. */ private _directPutSourceConfiguration?; /** * An Amazon ES destination for the delivery stream. */ private _elasticsearchDestinationConfiguration?; /** * An Amazon S3 destination for the delivery stream. */ private _extendedS3DestinationConfiguration?; /** * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. */ private _httpEndpointDestinationConfiguration?; /** * Specifies the destination configure settings for Apache Iceberg Table. */ private _icebergDestinationConfiguration?; /** * When a Kinesis stream is used as the source for the delivery stream, a [KinesisStreamSourceConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html) containing the Kinesis stream ARN and the role ARN for the source stream. */ private _kinesisStreamSourceConfiguration?; /** * The configuration for the Amazon MSK cluster to be used as the source for a delivery stream. */ private _mskSourceConfiguration?; /** * An Amazon Redshift destination for the delivery stream. */ private _redshiftDestinationConfiguration?; /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. */ private _s3DestinationConfiguration?; /** * Configure Snowflake destination. */ private _snowflakeDestinationConfiguration?; /** * The configuration of a destination in Splunk for the delivery stream. */ private _splunkDestinationConfiguration?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * A set of tags to assign to the Firehose stream. */ private _tagsRaw?; protected readonly cfnPropertyNames: Record<string, string>; /** * Create a new `AWS::KinesisFirehose::DeliveryStream`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnDeliveryStreamProps); get deliveryStreamRef(): DeliveryStreamReference; /** * Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service. */ get amazonOpenSearchServerlessDestinationConfiguration(): CfnDeliveryStream.AmazonOpenSearchServerlessDestinationConfigurationProperty | cdk.IResolvable | undefined; /** * Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service. */ set amazonOpenSearchServerlessDestinationConfiguration(value: CfnDeliveryStream.AmazonOpenSearchServerlessDestinationConfigurationProperty | cdk.IResolvable | undefined); /** * The destination in Amazon OpenSearch Service. */ get amazonopensearchserviceDestinationConfiguration(): CfnDeliveryStream.AmazonopensearchserviceDestinationConfigurationProperty | cdk.IResolvable | undefined; /** * The destination in Amazon OpenSearch Service. */ set amazonopensearchserviceDestinationConfiguration(value: CfnDeliveryStream.AmazonopensearchserviceDestinationConfigurationProperty | cdk.IResolvable | undefined); /** * The top level object for configuring streams with database as a source. */ get databaseSourceConfiguration(): CfnDeliveryStream.DatabaseSourceConfigurationProperty | cdk.IResolvable | undefined; /** * The top level object for configuring streams with database as a source. */ set databaseSourceConfiguration(value: CfnDeliveryStream.DatabaseSourceConfigurationProperty | cdk.IResolvable | undefined); /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). */ get deliveryStreamEncryptionConfigurationInput(): CfnDeliveryStream.DeliveryStreamEncryptionConfigurationInputProperty | cdk.IResolvable | undefined; /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). */ set deliveryStreamEncryptionConfigurationInput(value: CfnDeliveryStream.DeliveryStreamEncryptionConfigurationInputProperty | cdk.IResolvable | undefined); /** * The name of the Firehose stream. */ get deliveryStreamName(): string | undefined; /** * The name of the Firehose stream. */ set deliveryStreamName(value: string | undefined); /** * The Firehose stream type. This can be one of the following values:. */ get deliveryStreamType(): string | undefined; /** * The Firehose stream type. This can be one of the following values:. */ set deliveryStreamType(value: string | undefined); /** * The structure that configures parameters such as `ThroughputHintInMBs` for a stream configured with Direct PUT as a source. */ get directPutSourceConfiguration(): CfnDeliveryStream.DirectPutSourceConfigurationProperty | cdk.IResolvable | undefined; /** * The structure that configures parameters such as `ThroughputHintInMBs` for a stream configured with Direct PUT as a source. */ set directPutSourceConfiguration(value: CfnDeliveryStream.DirectPutSourceConfigurationProperty | cdk.IResolvable | undefined); /** * An Amazon ES destination for the delivery stream. */ get elasticsearchDestinationConfiguration(): CfnDeliveryStream.ElasticsearchDestinationConfigurationProperty | cdk.IResolvable | undefined; /** * An Amazon ES destination for the delivery stream. */ set elasticsearchDestinationConfiguration(value: CfnDeliveryStream.ElasticsearchDestinationConfigurationProperty | cdk.IResolvable | undefined); /** * An Amazon S3 destination for the delivery stream. */ get extendedS3DestinationConfiguration(): CfnDeliveryStream.ExtendedS3DestinationConfigurationProperty | cdk.IResolvable | undefined; /** * An Amazon S3 destination for the delivery stream. */ set extendedS3DestinationConfiguration(value: CfnDeliveryStream.ExtendedS3DestinationConfigurationProperty | cdk.IResolvable | undefined); /** * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. */ get httpEndpointDestinationConfiguration(): CfnDeliveryStream.HttpEndpointDestinationConfigurationProperty | cdk.IResolvable | undefined; /** * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. */ set httpEndpointDestinationConfiguration(value: CfnDeliveryStream.HttpEndpointDestinationConfigurationProperty | cdk.IResolvable | undefined); /** * Specifies the destination configure settings for Apache Iceberg Table. */ get icebergDestinationConfiguration(): CfnDeliveryStream.IcebergDestinationConfigurationProperty | cdk.IResolvable | undefined; /** * Specifies the destination configure settings for Apache Iceberg Table. */ set icebergDestinationConfiguration(value: CfnDeliveryStream.IcebergDestinationConfigurationProperty | cdk.IResolvable | undefined); /** * When a Kinesis stream is used as the source for the delivery stream, a [KinesisStreamSourceConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html) containing the Kinesis stream ARN and the role ARN for the source stream. */ get kinesisStreamSourceConfiguration(): cdk.IResolvable | CfnDeliveryStream.KinesisStreamSourceConfigurationProperty | undefined; /** * When a Kinesis stream is used as the source for the delivery stream, a [KinesisStreamSourceConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html) containing the Kinesis stream ARN and the role ARN for the source stream. */ set kinesisStreamSourceConfiguration(value: cdk.IResolvable | CfnDeliveryStream.KinesisStreamSourceConfigurationProperty | undefined); /** * The configuration for the Amazon MSK cluster to be used as the source for a delivery stream. */ get mskSourceConfiguration(): cdk.IResolvable | CfnDeliveryStream.MSKSourceConfigurationProperty | undefined; /** * The configuration for the Amazon MSK cluster to be used as the source for a delivery stream. */ set mskSourceConfiguration(value: cdk.IResolvable | CfnDeliveryStream.MSKSourceConfigurationProperty | undefined); /** * An Amazon Redshift destination for the delivery stream. */ get redshiftDestinationConfiguration(): cdk.IResolvable | CfnDeliveryStream.RedshiftDestinationConfigurationProperty | undefined; /** * An Amazon Redshift destination for the delivery stream. */ set redshiftDestinationConfiguration(value: cdk.IResolvable | CfnDeliveryStream.RedshiftDestinationConfigurationProperty | undefined); /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. */ get s3DestinationConfiguration(): cdk.IResolvable | CfnDeliveryStream.S3DestinationConfigurationProperty | undefined; /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. */ set s3DestinationConfiguration(value: cdk.IResolvable | CfnDeliveryStream.S3DestinationConfigurationProperty | undefined); /** * Configure Snowflake destination. */ get snowflakeDestinationConfiguration(): cdk.IResolvable | CfnDeliveryStream.SnowflakeDestinationConfigurationProperty | undefined; /** * Configure Snowflake destination. */ set snowflakeDestinationConfiguration(value: cdk.IResolvable | CfnDeliveryStream.SnowflakeDestinationConfigurationProperty | undefined); /** * The configuration of a destination in Splunk for the delivery stream. */ get splunkDestinationConfiguration(): cdk.IResolvable | CfnDeliveryStream.SplunkDestinationConfigurationProperty | undefined; /** * The configuration of a destination in Splunk for the delivery stream. */ set splunkDestinationConfiguration(value: cdk.IResolvable | CfnDeliveryStream.SplunkDestinationConfigurationProperty | undefined); /** * A set of tags to assign to the Firehose stream. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * A set of tags to assign to the Firehose stream. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The Amazon Resource Name (ARN) of the delivery stream, such as `arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name` . * * @cloudformationAttribute Arn */ get attrArn(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnDeliveryStream { /** * Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE). * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html */ interface DeliveryStreamEncryptionConfigurationInputProperty { /** * If you set `KeyType` to `CUSTOMER_MANAGED_CMK` , you must specify the Amazon Resource Name (ARN) of the CMK. * * If you set `KeyType` to `AWS _OWNED_CMK` , Firehose uses a service-account CMK. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keyarn */ readonly keyArn?: string; /** * Indicates the type of customer master key (CMK) to use for encryption. * * The default setting is `AWS_OWNED_CMK` . For more information about CMKs, see [Customer Master Keys (CMKs)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) . * * You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery streams. * * > To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose doesn't support asymmetric CMKs. For information about symmetric and asymmetric CMKs, see [About Symmetric and Asymmetric CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html) in the AWS Key Management Service developer guide. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput.html#cfn-kinesisfirehose-deliverystream-deliverystreamencryptionconfigurationinput-keytype */ readonly keyType: string; } /** * Describes the configuration of the HTTP endpoint destination. * * Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html */ interface HttpEndpointDestinationConfigurationProperty { /** * The buffering options that can be used before data is delivered to the specified destination. * * Kinesis Data Firehose treats these options as hints, and it might choose to use more optimal values. The SizeInMBs and IntervalInSeconds parameters are optional. However, if you specify a value for one of them, you must also provide a value for the other. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-bufferinghints */ readonly bufferingHints?: CfnDeliveryStream.BufferingHintsProperty | cdk.IResolvable; /** * Describes the Amazon CloudWatch logging options for your delivery stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-cloudwatchloggingoptions */ readonly cloudWatchLoggingOptions?: CfnDeliveryStream.CloudWatchLoggingOptionsProperty | cdk.IResolvable; /** * The configuration of the HTTP endpoint selected as the destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-endpointconfiguration */ readonly endpointConfiguration: CfnDeliveryStream.HttpEndpointConfigurationProperty | cdk.IResolvable; /** * Describes the data processing configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-processingconfiguration */ readonly processingConfiguration?: cdk.IResolvable | CfnDeliveryStream.ProcessingConfigurationProperty; /** * The configuration of the request sent to the HTTP endpoint specified as the destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-requestconfiguration */ readonly requestConfiguration?: CfnDeliveryStream.HttpEndpointRequestConfigurationProperty | cdk.IResolvable; /** * Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of receipt from the specified HTTP endpoint destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-retryoptions */ readonly retryOptions?: cdk.IResolvable | CfnDeliveryStream.RetryOptionsProperty; /** * Kinesis Data Firehose uses this IAM role for all the permissions that the delivery stream needs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-rolearn */ readonly roleArn?: string; /** * Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to the HTTP endpoint destination. * * You can back up all documents (AllData) or only the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3backupmode */ readonly s3BackupMode?: string; /** * Describes the configuration of a destination in Amazon S3. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3configuration */ readonly s3Configuration: cdk.IResolvable | CfnDeliveryStream.S3DestinationConfigurationProperty; /** * The configuration that defines how you access secrets for HTTP Endpoint destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-secretsmanagerconfiguration */ readonly secretsManagerConfiguration?: cdk.IResolvable | CfnDeliveryStream.SecretsManagerConfigurationProperty; } /** * The configuration of the HTTP endpoint request. * * Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html */ interface HttpEndpointRequestConfigurationProperty { /** * Describes the metadata sent to the HTTP endpoint destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-commonattributes */ readonly commonAttributes?: Array<CfnDeliveryStream.HttpEndpointCommonAttributeProperty | cdk.IResolvable> | cdk.IResolvable; /** * Kinesis Data Firehose uses the content encoding to compress the body of a request before sending the request to the destination. * * For more information, see Content-Encoding in MDN Web Docs, the official Mozilla documentation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointrequestconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointrequestconfiguration-contentencoding */ readonly contentEncoding?: string; } /** * Describes the metadata that's delivered to the specified HTTP endpoint destination. * * Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html */ interface HttpEndpointCommonAttributeProperty { /** * The name of the HTTP endpoint common attribute. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributename */ readonly attributeName: string; /** * The value of the HTTP endpoint common attribute. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointcommonattribute.html#cfn-kinesisfirehose-deliverystream-httpendpointcommonattribute-attributevalue */ readonly attributeValue: string; } /** * The `S3DestinationConfiguration` property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html */ interface S3DestinationConfigurationProperty { /** * The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bucketarn */ readonly bucketArn: string; /** * Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bufferinghints */ readonly bufferingHints?: CfnDeliveryStream.BufferingHintsProperty | cdk.IResolvable; /** * The CloudWatch logging options for your Firehose stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-cloudwatchloggingoptions */ readonly cloudWatchLoggingOptions?: CfnDeliveryStream.CloudWatchLoggingOptionsProperty | cdk.IResolvable; /** * The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket. * * For valid values, see the `CompressionFormat` content for the [S3DestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_S3DestinationConfiguration.html) data type in the *Amazon Kinesis Data Firehose API Reference* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-compressionformat */ readonly compressionFormat?: string; /** * Configures Amazon Simple Storage Service (Amazon S3) server-side encryption. * * Kinesis Data Firehose uses AWS Key Management Service ( AWS KMS) to encrypt the data that it delivers to your Amazon S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-encryptionconfiguration */ readonly encryptionConfiguration?: CfnDeliveryStream.EncryptionConfigurationProperty | cdk.IResolvable; /** * A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. * * This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-erroroutputprefix */ readonly errorOutputPrefix?: string; /** * A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket. * * The prefix helps you identify the files that Kinesis Data Firehose delivered. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-prefix */ readonly prefix?: string; /** * The ARN of an AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption). * * For more information, see [Grant Kinesis Data Firehose Access to an Amazon S3 Destination](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) in the *Amazon Kinesis Data Firehose Developer Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-rolearn */ readonly roleArn: string; } /** * The `BufferingHints` property type specifies how Amazon Kinesis Data Firehose (Kinesis Data Firehose) buffers incoming data before delivering it to the destination. * * The first buffer condition that is satisfied triggers Kinesis Data Firehose to deliver the data. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html */ interface BufferingHintsProperty { /** * The length of time, in seconds, that Kinesis Data Firehose buffers incoming data before delivering it to the destination. * * For valid values, see the `IntervalInSeconds` content for the [BufferingHints](https://docs.aws.amazon.com/firehose/latest/APIReference/API_BufferingHints.html) data type in the *Amazon Kinesis Data Firehose API Reference* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-intervalinseconds */ readonly intervalInSeconds?: number; /** * The size of the buffer, in MBs, that Kinesis Data Firehose uses for incoming data before delivering it to the destination. * * For valid values, see the `SizeInMBs` content for the [BufferingHints](https://docs.aws.amazon.com/firehose/latest/APIReference/API_BufferingHints.html) data type in the *Amazon Kinesis Data Firehose API Reference* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-sizeinmbs */ readonly sizeInMBs?: number; } /** * The `EncryptionConfiguration` property type specifies the encryption settings that Amazon Kinesis Data Firehose (Kinesis Data Firehose) uses when delivering data to Amazon Simple Storage Service (Amazon S3). * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html */ interface EncryptionConfigurationProperty { /** * The AWS Key Management Service ( AWS KMS) encryption key that Amazon S3 uses to encrypt your data. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-kmsencryptionconfig */ readonly kmsEncryptionConfig?: cdk.IResolvable | CfnDeliveryStream.KMSEncryptionConfigProperty; /** * Disables encryption. * * For valid values, see the `NoEncryptionConfig` content for the [EncryptionConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_EncryptionConfiguration.html) data type in the *Amazon Kinesis Data Firehose API Reference* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-noencryptionconfig */ readonly noEncryptionConfig?: string; } /** * The `KMSEncryptionConfig` property type specifies the AWS Key Management Service ( AWS KMS) encryption key that Amazon Simple Storage Service (Amazon S3) uses to encrypt data delivered by the Amazon Kinesis Data Firehose (Kinesis Data Firehose) stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html */ interface KMSEncryptionConfigProperty { /** * The Amazon Resource Name (ARN) of the AWS KMS encryption key that Amazon S3 uses to encrypt data delivered by the Kinesis Data Firehose stream. * * The key must belong to the same region as the destination S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html#cfn-kinesisfirehose-deliverystream-kmsencryptionconfig-awskmskeyarn */ readonly awskmsKeyArn: string; } /** * The `CloudWatchLoggingOptions` property type specifies Amazon CloudWatch Logs (CloudWatch Logs) logging options that Amazon Kinesis Data Firehose (Kinesis Data Firehose) uses for the delivery stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html */ interface CloudWatchLoggingOptionsProperty { /** * Indicates whether CloudWatch Logs logging is enabled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-enabled */ readonly enabled?: boolean | cdk.IResolvable; /** * The name of the CloudWatch Logs log group that contains the log stream that Kinesis Data Firehose will use. * * Conditional. If you enable logging, you must specify this property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-loggroupname */ readonly logGroupName?: string; /** * The name of the CloudWatch Logs log stream that Kinesis Data Firehose uses to send logs about data delivery. * * Conditional. If you enable logging, you must specify this property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-logstreamname */ readonly logStreamName?: string; } /** * Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of receipt from the specified HTTP endpoint destination. * * Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html */ interface RetryOptionsProperty { /** * The total amount of time that Kinesis Data Firehose spends on retries. * * This duration starts after the initial attempt to send data to the custom destination via HTTPS endpoint fails. It doesn't include the periods during which Kinesis Data Firehose waits for acknowledgment from the specified destination after each attempt. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-retryoptions.html#cfn-kinesisfirehose-deliverystream-retryoptions-durationinseconds */ readonly durationInSeconds?: number; } /** * Describes the configuration of the HTTP endpoint to which Kinesis Firehose delivers data. * * Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html */ interface HttpEndpointConfigurationProperty { /** * The access key required for Kinesis Firehose to authenticate with the HTTP endpoint selected as the destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-accesskey */ readonly accessKey?: string; /** * The name of the HTTP endpoint selected as the destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-name */ readonly name?: string; /** * The URL of the HTTP endpoint selected as the destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointconfiguration.html#cfn-kinesisfirehose-deliverystream-httpendpointconfiguration-url */ readonly url: string; } /** * The `ProcessingConfiguration` property configures data processing for an Amazon Kinesis Data Firehose delivery stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html */ interface ProcessingConfigurationProperty { /** * Indicates whether data processing is enabled (true) or disabled (false). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-enabled */ readonly enabled?: boolean | cdk.IResolvable; /** * The data processors. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-processors */ readonly processors?: Array<cdk.IResolvable | CfnDeliveryStream.ProcessorProperty> | cdk.IResolvable; } /** * The `Processor` property specifies a data processor for an Amazon Kinesis Data Firehose delivery stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html */ interface ProcessorProperty { /** * The processor parameters. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-parameters */ readonly parameters?: Array<cdk.IResolvable | CfnDeliveryStream.ProcessorParameterProperty> | cdk.IResolvable; /** * The type of processor. * * Valid values: `Lambda` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-type */ readonly type: string; } /** * The `ProcessorParameter` property specifies a processor parameter in a data processor for an Amazon Kinesis Data Firehose delivery stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html */ interface ProcessorParameterProperty { /** * The name of the parameter. * * Currently the following default values are supported: 3 for `NumberOfRetries` and 60 for the `BufferIntervalInSeconds` . The `BufferSizeInMBs` ranges between 0.2 MB and up to 3MB. The default buffering hint is 1MB for all destinations, except Splunk. For Splunk, the default buffering hint is 256 KB. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html#cfn-kinesisfirehose-deliverystream-processorparameter-parametername */ readonly parameterName: string; /** * The parameter value. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html#cfn-kinesisfirehose-deliverystream-processorparameter-parametervalue */ readonly parameterValue: string; } /** * The structure that defines how Firehose accesses the secret. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-secretsmanagerconfiguration.html */ interface SecretsManagerConfigurationProperty { /** * Specifies whether you want to use the secrets manager feature. * * When set as `True` the secrets manager configuration overwrites the existing secrets in the destination configuration. When it's set to `False` Firehose falls back to the credentials in the destination configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-secretsmanagerconfiguration.html#cfn-kinesisfirehose-deliverystream-secretsmanagerconfiguration-enabled */ readonly enabled: boolean | cdk.IResolvable; /** * Specifies the role that Firehose assumes when calling the Secrets Manager API operation. * * When you provide the role, it overrides any destination specific role defined in the destination configuration. If you do not provide the then we use the destination specific role. This parameter is required for Splunk. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-secretsmanagerconfiguration.html#cfn-kinesisfirehose-deliverystream-secretsmanagerconfiguration-rolearn */ readonly roleArn?: string; /** * The ARN of the secret that stores your credentials. * * It must be in the same region as the Firehose stream and the role. The secret ARN can reside in a different account than the Firehose stream and role as Firehose supports cross-account secret access. This parameter is required when *Enabled* is set to `True` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-secretsmanagerconfiguration.html#cfn-kinesisfirehose-deliverystream-secretsmanagerconfiguration-secretarn */ readonly secretArn?: string; } /** * The `KinesisStreamSourceConfiguration` property type specifies the stream and role Amazon Resource Names (ARNs) for a Kinesis stream used as the source for a delivery stream. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html */ interface KinesisStreamSourceConfigurationProperty { /** * The ARN of the source Kinesis data stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration-kinesisstreamarn */ readonly kinesisStreamArn: string; /** * The ARN of the role that provides access to the source Kinesis data stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration-rolearn */ readonly roleArn: string; } /** * The `RedshiftDestinationConfiguration` property type specifies an Amazon Redshift cluster to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html */ interface RedshiftDestinationConfigurationProperty { /** * The CloudWatch logging options for your Firehose stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-cloudwatchloggingoptions */ readonly cloudWatchLoggingOptions?: CfnDeliveryStream.CloudWatchLoggingOptionsProperty | cdk.IResolvable; /** * The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-clusterjdbcurl */ readonly clusterJdbcurl: string; /** * Configures the Amazon Redshift `COPY` command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-copycommand */ readonly copyCommand: CfnDeliveryStream.CopyCommandProperty | cdk.IResolvable; /** * The password for the Amazon Redshift user that you specified in the `Username` property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-password */ readonly password?: string; /** * The data processing configuration for the Kinesis Data Firehose delivery stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystre