Files
agent-claw/cdk/node_modules/aws-cdk-lib/aws-kinesisfirehose/lib/s3-bucket.d.ts
2026-05-06 18:55:16 -05:00

102 lines
4.0 KiB
TypeScript

import type { Construct } from 'constructs';
import type { CommonDestinationProps, CommonDestinationS3Props } from './common';
import type { DestinationBindOptions, DestinationConfig, IDestination } from './destination';
import type { IInputFormat, IOutputFormat, SchemaConfiguration } from './record-format';
import type * as s3 from '../../aws-s3';
import * as cdk from '../../core';
/**
* Props for defining an S3 destination of an Amazon Data Firehose delivery stream.
*/
export interface S3BucketProps extends CommonDestinationS3Props, CommonDestinationProps {
/**
* Specify a file extension.
* It will override the default file extension appended by Data Format Conversion or S3 compression features such as `.parquet` or `.gz`.
*
* File extension must start with a period (`.`) and can contain allowed characters: `0-9a-z!-_.*'()`.
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-s3
* @default - The default file extension appended by Data Format Conversion or S3 compression features
*/
readonly fileExtension?: string;
/**
* The time zone you prefer.
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html#timestamp-namespace
*
* @default - UTC
*/
readonly timeZone?: cdk.TimeZone;
/**
* The input format, output format, and schema config for converting data from the JSON format to the Parquet or ORC format before writing to Amazon S3.
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dataformatconversionconfiguration
*
* @default - no data format conversion is done
*/
readonly dataFormatConversion?: DataFormatConversionProps;
/**
* Specify dynamic partitioning.
* @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html
* @default - Dynamic partitioning is disabled.
*/
readonly dynamicPartitioning?: DynamicPartitioningProps;
}
/**
* Props for specifying data format conversion for Firehose
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html
*/
export interface DataFormatConversionProps {
/**
* Whether data format conversion is enabled or not.
*
* @default `true`
*/
readonly enabled?: boolean;
/**
* The schema configuration to use in converting the input format to output format
*/
readonly schemaConfiguration: SchemaConfiguration;
/**
* The input format to convert from for record format conversion
*/
readonly inputFormat: IInputFormat;
/**
* The output format to convert to for record format conversion
*/
readonly outputFormat: IOutputFormat;
}
/**
* Props for defining dynamic partitioning.
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html
*/
export interface DynamicPartitioningProps {
/**
* Whether to enable the dynamic partitioning.
*
* You cannot enable dynamic partitioning for an existing Firehose stream that does not have dynamic partitioning already enabled.
*
* @see https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning-enable.html
*/
readonly enabled: boolean;
/**
* The total amount of time that Data Firehose spends on retries.
*
* Minimum: Duration.seconds(0)
* Maximum: Duration.seconds(7200)
*
* @default Duration.seconds(300)
*/
readonly retryDuration?: cdk.Duration;
}
/**
* An S3 bucket destination for data from an Amazon Data Firehose delivery stream.
*/
export declare class S3Bucket implements IDestination {
private readonly bucket;
private readonly props;
constructor(bucket: s3.IBucket, props?: S3BucketProps);
bind(scope: Construct, _options: DestinationBindOptions): DestinationConfig;
private getS3BackupMode;
}