Skip to content

AWS::KinesisFirehose::DeliveryStream

Resource Type definition for AWS::KinesisFirehose::DeliveryStream

Generated by cfn-typegen --out cfn_types AWS::KinesisFirehose::DeliveryStream into cfn_types/kinesisfirehose.py:

# Generated by cfn-typegen from the CloudFormation registry schemas. Do not edit.
# fmt: off
# ruff: noqa
"""AWS::KinesisFirehose resources."""

from collections.abc import Mapping, Sequence
from typing import Any, Literal, NotRequired, Unpack
from typing_extensions import TypedDict
from cfn_typed.base import DeletionPolicy, DependsOn, ResourceAttrs, Tag, UpdateReplacePolicy, build
from cfn_typed.intrinsics import Expr


_c0=["UNCOMPRESSED","GZIP","ZIP","Snappy","HADOOP_SNAPPY"]
_c1={'P':{'NoEncryptionConfig':{'e':["NoEncryption"]}}}
_c2={'P':{'ErrorOutputPrefix':{'l':0,'L':1024},'BucketARN':{'p':"arn:.*",'l':1,'L':2048},'CompressionFormat':{'e':_c0},'EncryptionConfiguration':_c1,'Prefix':{'l':0,'L':1024},'RoleARN':{'p':"arn:.*",'l':1,'L':512}}}
_c3={'P':{'SecretARN':{'p':"arn:.*:secretsmanager:[a-zA-Z0-9\\-]+:\\d{12}:secret:[a-zA-Z0-9\\-/_+=.@]+",'l':1,'L':2048},'RoleARN':{'p':"arn:.*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+",'l':1,'L':512}}}
_c4={'P':{'Processors':{'T':{'P':{'Type':{'e':["RecordDeAggregation","Decompression","CloudWatchLogProcessing","Lambda","MetadataExtraction","AppendDelimiterToRecord"]}}}}}}
_c5=["NoRotation","OneHour","OneDay","OneWeek","OneMonth"]
_c6=["FailedDocumentsOnly","AllDocuments"]
_c7={'P':{'DefaultDocumentIdFormat':{'e':["FIREHOSE_DEFAULT","NO_DOCUMENT_ID"]}}}
_c8={'P':{'SubnetIds':{'i':1,'I':16,'T':{'l':1,'L':1024}},'SecurityGroupIds':{'i':1,'I':5,'T':{'l':1,'L':1024}},'RoleARN':{'p':"arn:.*",'l':1,'L':512}}}
_c9="([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$"
CONSTRAINTS:dict[str,Any]={
'AWS::KinesisFirehose::DeliveryStream':{'DeliveryStreamEncryptionConfigurationInput':{'P':{'KeyType':{'e':["AWS_OWNED_CMK","CUSTOMER_MANAGED_CMK"]},'KeyARN':{'p':"arn:.*",'l':1,'L':512}}},'HttpEndpointDestinationConfiguration':{'P':{'RequestConfiguration':{'P':{'CommonAttributes':{'i':0,'I':50,'T':{'P':{'AttributeValue':{'l':0,'L':1024},'AttributeName':{'l':1,'L':256}}}},'ContentEncoding':{'e':["NONE","GZIP"]}}},'S3Configuration':_c2,'SecretsManagerConfiguration':_c3,'EndpointConfiguration':{'P':{'AccessKey':{'l':0,'L':4096},'Url':{'l':1,'L':1000},'Name':{'l':1,'L':256}}},'ProcessingConfiguration':_c4,'RoleARN':{'p':"arn:.*",'l':1,'L':512}}},'KinesisStreamSourceConfiguration':{'P':{'KinesisStreamARN':{'p':"arn:.*",'l':1,'L':512},'RoleARN':{'p':"arn:.*",'l':1,'L':512}}},'DeliveryStreamType':{'e':["DatabaseAsSource","DirectPut","KinesisStreamAsSource","MSKAsSource"]},'IcebergDestinationConfiguration':{'P':{'CatalogConfiguration':{'P':{'CatalogArn':{'p':"arn:.*",'l':1,'L':512},'WarehouseLocation':{'p':"s3:\\/\\/.*",'l':1,'L':2048}}},'S3Configuration':_c2,'DestinationTableConfigurationList':{'T':{'P':{'DestinationDatabaseName':{'l':1,'L':512},'S3ErrorOutputPrefix':{'l':1,'L':1024},'DestinationTableName':{'l':1,'L':512},'UniqueKeys':{'T':{'l':1,'L':512}},'PartitionSpec':{'P':{'Identity':{'T':{'P':{'SourceName':{'l':1,'L':255}}}}}}}}},'s3BackupMode':{'e':["AllData","FailedDataOnly"]},'ProcessingConfiguration':_c4,'RoleARN':{'p':"arn:.*",'l':1,'L':512}}},'RedshiftDestinationConfiguration':{'P':{'S3BackupConfiguration':_c2,'S3Configuration':_c2,'Username':{'l':1,'L':512},'CopyCommand':{'P':{'DataTableName':{'l':1,'L':512},'CopyOptions':{'l':0,'L':204800},'DataTableColumns':{'l':0,'L':204800}}},'SecretsManagerConfiguration':_c3,'ProcessingConfiguration':_c4,'ClusterJDBCURL':{'l':1,'L':512},'RoleARN':{'p':"arn:.*",'l':1,'L':512},'Password':{'l':6,'L':512},'S3BackupMode':{'e':["Disabled","Enabled"]}}},'AmazonopensearchserviceDestinationConfiguration':{'P':{'TypeName':{'l':0,'L':100},'IndexRotationPeriod':{'e':_c5},'ProcessingConfiguration':_c4,'ClusterEndpoint':{'p':"https:.*",'l':1,'L':512},'DomainARN':{'p':"arn:.*",'l':1,'L':512},'RoleARN':{'p':"arn:.*",'l':1,'L':512},'S3BackupMode':{'e':_c6},'IndexName':{'l':1,'L':80},'DocumentIdOptions':_c7,'S3Configuration':_c2,'VpcConfiguration':_c8}},'MSKSourceConfiguration':{'P':{'AuthenticationConfiguration':{'P':{'Connectivity':{'e':["PUBLIC","PRIVATE"]},'RoleARN':{'p':"arn:.*",'l':1,'L':512}}},'MSKClusterARN':{'p':"arn:.*",'l':1,'L':512},'TopicName':{'p':"[a-zA-Z0-9\\._\\-]+",'l':1,'L':255}}},'DirectPutSourceConfiguration':{'P':{'ThroughputHintInMBs':{'m':1,'M':100}}},'SplunkDestinationConfiguration':{'P':{'HECEndpoint':{'l':0,'L':2048},'S3Configuration':_c2,'HECToken':{'l':0,'L':2048},'HECEndpointType':{'e':["Raw","Event"]},'SecretsManagerConfiguration':_c3,'HECAcknowledgmentTimeoutInSeconds':{'m':180,'M':600},'ProcessingConfiguration':_c4}},'ExtendedS3DestinationConfiguration':{'P':{'ErrorOutputPrefix':{'l':0,'L':1024},'S3BackupConfiguration':_c2,'BucketARN':{'p':"arn:.*",'l':1,'L':2048},'CompressionFormat':{'e':_c0},'DataFormatConversionConfiguration':{'P':{'SchemaConfiguration':{'P':{'RoleARN':{'p':"arn:.*",'l':1,'L':512}}}}},'EncryptionConfiguration':_c1,'CustomTimeZone':{'l':0,'L':50},'Prefix':{'l':0,'L':1024},'ProcessingConfiguration':_c4,'RoleARN':{'p':"arn:.*",'l':1,'L':512},'S3BackupMode':{'e':["Disabled","Enabled"]},'FileExtension':{'p':"^$|\\.[0-9a-z!\\-_.*'()]+",'l':0,'L':128}}},'AmazonOpenSearchServerlessDestinationConfiguration':{'P':{'IndexName':{'l':1,'L':80},'S3Configuration':_c2,'CollectionEndpoint':{'p':"https:.*",'l':1,'L':512},'VpcConfiguration':_c8,'ProcessingConfiguration':_c4,'RoleARN':{'p':"arn:.*",'l':1,'L':512},'S3BackupMode':{'e':_c6}}},'ElasticsearchDestinationConfiguration':{'P':{'TypeName':{'l':0,'L':100},'IndexRotationPeriod':{'e':_c5},'ProcessingConfiguration':_c4,'ClusterEndpoint':{'p':"https:.*",'l':1,'L':512},'DomainARN':{'p':"arn:.*",'l':1,'L':512},'RoleARN':{'p':"arn:.*",'l':1,'L':512},'S3BackupMode':{'e':_c6},'IndexName':{'l':1,'L':80},'DocumentIdOptions':_c7,'S3Configuration':_c2,'VpcConfiguration':_c8}},'SnowflakeDestinationConfiguration':{'P':{'PrivateKey':{'p':"^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$",'l':256,'L':4096},'User':{'l':1,'L':255},'Table':{'l':1,'L':255},'SnowflakeVpcConfiguration':{'P':{'PrivateLinkVpceId':{'p':_c9,'l':47,'L':255}}},'DataLoadingOption':{'e':["JSON_MAPPING","VARIANT_CONTENT_MAPPING","VARIANT_CONTENT_AND_METADATA_MAPPING"]},'Schema':{'l':1,'L':255},'ContentColumnName':{'l':1,'L':255},'SecretsManagerConfiguration':_c3,'SnowflakeRoleConfiguration':{'P':{'SnowflakeRole':{'l':1,'L':255}}},'ProcessingConfiguration':_c4,'AccountUrl':{'p':".+?\\.snowflakecomputing\\.com",'l':24,'L':2048},'RoleARN':{'p':"arn:.*",'l':1,'L':512},'S3BackupMode':{'e':["FailedDataOnly","AllData"]},'S3Configuration':_c2,'MetaDataColumnName':{'l':1,'L':255},'Database':{'l':1,'L':255},'KeyPassphrase':{'l':7,'L':255}}},'DatabaseSourceConfiguration':{'P':{'Digest':{'p':".*",'l':1,'L':512},'Port':{'m':0,'M':65535},'PublicCertificate':{'p':".*",'l':1,'L':4096},'Columns':{'P':{'Exclude':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':194}},'Include':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':194}}}},'Type':{'e':["MySQL","PostgreSQL"]},'SurrogateKeys':{'T':{'p':"^\\S+$",'l':1,'L':1024}},'Databases':{'P':{'Exclude':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':64}},'Include':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':64}}}},'Endpoint':{'p':"^(?!\\s*$).+",'l':1,'L':255},'SSLMode':{'e':["Disabled","Enabled"]},'SnapshotWatermarkTable':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':129},'DatabaseSourceAuthenticationConfiguration':{'P':{'SecretsManagerConfiguration':_c3}},'Tables':{'P':{'Exclude':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':129}},'Include':{'T':{'p':"[\\u0001-\\uFFFF]*",'l':1,'L':129}}}},'DatabaseSourceVPCConfiguration':{'P':{'VpcEndpointServiceName':{'p':_c9,'l':47,'L':255}}}}},'S3DestinationConfiguration':_c2,'DeliveryStreamName':{'p':"[a-zA-Z0-9._-]+",'l':1,'L':64},'Tags':{'i':1,'I':50,'T':{'P':{'Value':{'l':0,'L':256},'Key':{'l':1,'L':128}}}}},
}


ATTRIBUTES:dict[str,Any]={"AWS::KinesisFirehose::DeliveryStream":["Arn","DeliveryStreamName"]}


RULES:dict[str,Any]={}
Nested types (69)

These are defined above the properties in the generated module.

class DeliveryStreamDeliveryStreamEncryptionConfigurationInput(TypedDict, closed=True):
    KeyType: Expr[str]
    KeyARN: NotRequired[Expr[str]]


class DeliveryStreamHttpEndpointCommonAttribute(TypedDict, closed=True):
    AttributeValue: Expr[str]
    AttributeName: Expr[str]


class DeliveryStreamHttpEndpointRequestConfiguration(TypedDict, closed=True):
    CommonAttributes: NotRequired[Expr[Sequence[Expr[DeliveryStreamHttpEndpointCommonAttribute]]]]
    ContentEncoding: NotRequired[Expr[str]]


class DeliveryStreamBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamKMSEncryptionConfig(TypedDict, closed=True):
    AWSKMSKeyARN: Expr[str]


class DeliveryStreamEncryptionConfiguration(TypedDict, closed=True):
    KMSEncryptionConfig: NotRequired[Expr[DeliveryStreamKMSEncryptionConfig]]
    NoEncryptionConfig: NotRequired[Expr[str]]


class DeliveryStreamCloudWatchLoggingOptions(TypedDict, closed=True):
    LogStreamName: NotRequired[Expr[str]]
    Enabled: NotRequired[Expr[bool]]
    LogGroupName: NotRequired[Expr[str]]


class DeliveryStreamS3DestinationConfiguration(TypedDict, closed=True):
    ErrorOutputPrefix: NotRequired[Expr[str]]
    BucketARN: Expr[str]
    BufferingHints: NotRequired[Expr[DeliveryStreamBufferingHints]]
    CompressionFormat: NotRequired[Expr[str]]
    EncryptionConfiguration: NotRequired[Expr[DeliveryStreamEncryptionConfiguration]]
    Prefix: NotRequired[Expr[str]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    RoleARN: Expr[str]


class DeliveryStreamRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamSecretsManagerConfiguration(TypedDict, closed=True):
    SecretARN: NotRequired[Expr[str]]
    Enabled: Expr[bool]
    RoleARN: NotRequired[Expr[str]]


class DeliveryStreamHttpEndpointConfiguration(TypedDict, closed=True):
    AccessKey: NotRequired[Expr[str]]
    Url: Expr[str]
    Name: NotRequired[Expr[str]]


class DeliveryStreamProcessorParameter(TypedDict, closed=True):
    ParameterValue: Expr[str]
    ParameterName: Expr[str]


class DeliveryStreamProcessor(TypedDict, closed=True):
    Type: Expr[str]
    Parameters: NotRequired[Expr[Sequence[Expr[DeliveryStreamProcessorParameter]]]]


class DeliveryStreamProcessingConfiguration(TypedDict, closed=True):
    Enabled: NotRequired[Expr[bool]]
    Processors: NotRequired[Expr[Sequence[Expr[DeliveryStreamProcessor]]]]


class DeliveryStreamHttpEndpointDestinationConfiguration(TypedDict, closed=True):
    RequestConfiguration: NotRequired[Expr[DeliveryStreamHttpEndpointRequestConfiguration]]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamBufferingHints]]
    RetryOptions: NotRequired[Expr[DeliveryStreamRetryOptions]]
    SecretsManagerConfiguration: NotRequired[Expr[DeliveryStreamSecretsManagerConfiguration]]
    EndpointConfiguration: Expr[DeliveryStreamHttpEndpointConfiguration]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    RoleARN: NotRequired[Expr[str]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    S3BackupMode: NotRequired[Expr[str]]


class DeliveryStreamKinesisStreamSourceConfiguration(TypedDict, closed=True):
    KinesisStreamARN: Expr[str]
    RoleARN: Expr[str]


class DeliveryStreamCatalogConfiguration(TypedDict, closed=True):
    CatalogArn: NotRequired[Expr[str]]
    WarehouseLocation: NotRequired[Expr[str]]


class DeliveryStreamPartitionField(TypedDict, closed=True):
    SourceName: Expr[str]


class DeliveryStreamDestinationTableConfigurationPartitionSpec(TypedDict, closed=True):
    Identity: NotRequired[Expr[Sequence[Expr[DeliveryStreamPartitionField]]]]


class DeliveryStreamDestinationTableConfiguration(TypedDict, closed=True):
    DestinationDatabaseName: Expr[str]
    S3ErrorOutputPrefix: NotRequired[Expr[str]]
    DestinationTableName: Expr[str]
    UniqueKeys: NotRequired[Expr[list[Expr[str]]]]
    PartitionSpec: NotRequired[Expr[DeliveryStreamDestinationTableConfigurationPartitionSpec]]


class DeliveryStreamTableCreationConfiguration(TypedDict, closed=True):
    Enabled: NotRequired[Expr[bool]]


class DeliveryStreamSchemaEvolutionConfiguration(TypedDict, closed=True):
    Enabled: NotRequired[Expr[bool]]


class DeliveryStreamIcebergDestinationConfiguration(TypedDict, closed=True):
    CatalogConfiguration: Expr[DeliveryStreamCatalogConfiguration]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    DestinationTableConfigurationList: NotRequired[Expr[Sequence[Expr[DeliveryStreamDestinationTableConfiguration]]]]
    BufferingHints: NotRequired[Expr[DeliveryStreamBufferingHints]]
    TableCreationConfiguration: NotRequired[Expr[DeliveryStreamTableCreationConfiguration]]
    RetryOptions: NotRequired[Expr[DeliveryStreamRetryOptions]]
    s3BackupMode: NotRequired[Expr[str]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    SchemaEvolutionConfiguration: NotRequired[Expr[DeliveryStreamSchemaEvolutionConfiguration]]
    AppendOnly: NotRequired[Expr[bool]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    RoleARN: Expr[str]


class DeliveryStreamCopyCommand(TypedDict, closed=True):
    DataTableName: Expr[str]
    CopyOptions: NotRequired[Expr[str]]
    DataTableColumns: NotRequired[Expr[str]]


class DeliveryStreamRedshiftRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamRedshiftDestinationConfiguration(TypedDict, closed=True):
    S3BackupConfiguration: NotRequired[Expr[DeliveryStreamS3DestinationConfiguration]]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    Username: NotRequired[Expr[str]]
    CopyCommand: Expr[DeliveryStreamCopyCommand]
    RetryOptions: NotRequired[Expr[DeliveryStreamRedshiftRetryOptions]]
    SecretsManagerConfiguration: NotRequired[Expr[DeliveryStreamSecretsManagerConfiguration]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    ClusterJDBCURL: Expr[str]
    RoleARN: Expr[str]
    Password: NotRequired[Expr[str]]
    S3BackupMode: NotRequired[Expr[str]]


class DeliveryStreamDocumentIdOptions(TypedDict, closed=True):
    DefaultDocumentIdFormat: Expr[str]


class DeliveryStreamAmazonopensearchserviceBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamAmazonopensearchserviceRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamVpcConfiguration(TypedDict, closed=True):
    SubnetIds: Expr[list[Expr[str]]]
    SecurityGroupIds: Expr[list[Expr[str]]]
    RoleARN: Expr[str]


class DeliveryStreamAmazonopensearchserviceDestinationConfiguration(TypedDict, closed=True):
    TypeName: NotRequired[Expr[str]]
    IndexRotationPeriod: NotRequired[Expr[str]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    ClusterEndpoint: NotRequired[Expr[str]]
    DomainARN: NotRequired[Expr[str]]
    RoleARN: Expr[str]
    S3BackupMode: NotRequired[Expr[str]]
    IndexName: Expr[str]
    DocumentIdOptions: NotRequired[Expr[DeliveryStreamDocumentIdOptions]]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamAmazonopensearchserviceBufferingHints]]
    RetryOptions: NotRequired[Expr[DeliveryStreamAmazonopensearchserviceRetryOptions]]
    VpcConfiguration: NotRequired[Expr[DeliveryStreamVpcConfiguration]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]


class DeliveryStreamAuthenticationConfiguration(TypedDict, closed=True):
    Connectivity: Expr[str]
    RoleARN: Expr[str]


class DeliveryStreamMSKSourceConfiguration(TypedDict, closed=True):
    AuthenticationConfiguration: Expr[DeliveryStreamAuthenticationConfiguration]
    ReadFromTimestamp: NotRequired[Expr[str]]
    MSKClusterARN: Expr[str]
    TopicName: Expr[str]


class DeliveryStreamDirectPutSourceConfiguration(TypedDict, closed=True):
    ThroughputHintInMBs: NotRequired[Expr[int]]


class DeliveryStreamSplunkBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamSplunkRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamSplunkDestinationConfiguration(TypedDict, closed=True):
    HECEndpoint: Expr[str]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamSplunkBufferingHints]]
    HECToken: NotRequired[Expr[str]]
    RetryOptions: NotRequired[Expr[DeliveryStreamSplunkRetryOptions]]
    HECEndpointType: Expr[str]
    SecretsManagerConfiguration: NotRequired[Expr[DeliveryStreamSecretsManagerConfiguration]]
    HECAcknowledgmentTimeoutInSeconds: NotRequired[Expr[int]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    S3BackupMode: NotRequired[Expr[str]]


class DeliveryStreamHiveJsonSerDe(TypedDict, closed=True):
    TimestampFormats: NotRequired[Expr[list[Expr[str]]]]


class DeliveryStreamOpenXJsonSerDe(TypedDict, closed=True):
    ConvertDotsInJsonKeysToUnderscores: NotRequired[Expr[bool]]
    ColumnToJsonKeyMappings: NotRequired[Expr[Mapping[str, Expr[str]]]]
    CaseInsensitive: NotRequired[Expr[bool]]


class DeliveryStreamDeserializer(TypedDict, closed=True):
    HiveJsonSerDe: NotRequired[Expr[DeliveryStreamHiveJsonSerDe]]
    OpenXJsonSerDe: NotRequired[Expr[DeliveryStreamOpenXJsonSerDe]]


class DeliveryStreamInputFormatConfiguration(TypedDict, closed=True):
    Deserializer: NotRequired[Expr[DeliveryStreamDeserializer]]


class DeliveryStreamSchemaConfiguration(TypedDict, closed=True):
    VersionId: NotRequired[Expr[str]]
    TableName: NotRequired[Expr[str]]
    DatabaseName: NotRequired[Expr[str]]
    Region: NotRequired[Expr[str]]
    CatalogId: NotRequired[Expr[str]]
    RoleARN: NotRequired[Expr[str]]


class DeliveryStreamOrcSerDe(TypedDict, closed=True):
    PaddingTolerance: NotRequired[Expr[float]]
    Compression: NotRequired[Expr[str]]
    StripeSizeBytes: NotRequired[Expr[int]]
    BloomFilterColumns: NotRequired[Expr[list[Expr[str]]]]
    BloomFilterFalsePositiveProbability: NotRequired[Expr[float]]
    EnablePadding: NotRequired[Expr[bool]]
    FormatVersion: NotRequired[Expr[str]]
    RowIndexStride: NotRequired[Expr[int]]
    BlockSizeBytes: NotRequired[Expr[int]]
    DictionaryKeyThreshold: NotRequired[Expr[float]]


class DeliveryStreamParquetSerDe(TypedDict, closed=True):
    Compression: NotRequired[Expr[str]]
    BlockSizeBytes: NotRequired[Expr[int]]
    EnableDictionaryCompression: NotRequired[Expr[bool]]
    PageSizeBytes: NotRequired[Expr[int]]
    MaxPaddingBytes: NotRequired[Expr[int]]
    WriterVersion: NotRequired[Expr[str]]


class DeliveryStreamSerializer(TypedDict, closed=True):
    OrcSerDe: NotRequired[Expr[DeliveryStreamOrcSerDe]]
    ParquetSerDe: NotRequired[Expr[DeliveryStreamParquetSerDe]]


class DeliveryStreamOutputFormatConfiguration(TypedDict, closed=True):
    Serializer: NotRequired[Expr[DeliveryStreamSerializer]]


class DeliveryStreamDataFormatConversionConfiguration(TypedDict, closed=True):
    InputFormatConfiguration: NotRequired[Expr[DeliveryStreamInputFormatConfiguration]]
    Enabled: NotRequired[Expr[bool]]
    SchemaConfiguration: NotRequired[Expr[DeliveryStreamSchemaConfiguration]]
    OutputFormatConfiguration: NotRequired[Expr[DeliveryStreamOutputFormatConfiguration]]


class DeliveryStreamDynamicPartitioningConfiguration(TypedDict, closed=True):
    Enabled: NotRequired[Expr[bool]]
    RetryOptions: NotRequired[Expr[DeliveryStreamRetryOptions]]


class DeliveryStreamExtendedS3DestinationConfiguration(TypedDict, closed=True):
    ErrorOutputPrefix: NotRequired[Expr[str]]
    S3BackupConfiguration: NotRequired[Expr[DeliveryStreamS3DestinationConfiguration]]
    BucketARN: Expr[str]
    CompressionFormat: NotRequired[Expr[str]]
    DataFormatConversionConfiguration: NotRequired[Expr[DeliveryStreamDataFormatConversionConfiguration]]
    EncryptionConfiguration: NotRequired[Expr[DeliveryStreamEncryptionConfiguration]]
    CustomTimeZone: NotRequired[Expr[str]]
    DynamicPartitioningConfiguration: NotRequired[Expr[DeliveryStreamDynamicPartitioningConfiguration]]
    Prefix: NotRequired[Expr[str]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    RoleARN: Expr[str]
    S3BackupMode: NotRequired[Expr[str]]
    BufferingHints: NotRequired[Expr[DeliveryStreamBufferingHints]]
    FileExtension: NotRequired[Expr[str]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]


class DeliveryStreamAmazonOpenSearchServerlessBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamAmazonOpenSearchServerlessRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamAmazonOpenSearchServerlessDestinationConfiguration(TypedDict, closed=True):
    IndexName: Expr[str]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamAmazonOpenSearchServerlessBufferingHints]]
    RetryOptions: NotRequired[Expr[DeliveryStreamAmazonOpenSearchServerlessRetryOptions]]
    CollectionEndpoint: NotRequired[Expr[str]]
    VpcConfiguration: NotRequired[Expr[DeliveryStreamVpcConfiguration]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]
    RoleARN: Expr[str]
    S3BackupMode: NotRequired[Expr[str]]


class DeliveryStreamElasticsearchBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamElasticsearchRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamElasticsearchDestinationConfiguration(TypedDict, closed=True):
    TypeName: NotRequired[Expr[str]]
    IndexRotationPeriod: NotRequired[Expr[str]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    ClusterEndpoint: NotRequired[Expr[str]]
    DomainARN: NotRequired[Expr[str]]
    RoleARN: Expr[str]
    S3BackupMode: NotRequired[Expr[str]]
    IndexName: Expr[str]
    DocumentIdOptions: NotRequired[Expr[DeliveryStreamDocumentIdOptions]]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamElasticsearchBufferingHints]]
    RetryOptions: NotRequired[Expr[DeliveryStreamElasticsearchRetryOptions]]
    VpcConfiguration: NotRequired[Expr[DeliveryStreamVpcConfiguration]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]


class DeliveryStreamSnowflakeVpcConfiguration(TypedDict, closed=True):
    PrivateLinkVpceId: Expr[str]


class DeliveryStreamSnowflakeRoleConfiguration(TypedDict, closed=True):
    SnowflakeRole: NotRequired[Expr[str]]
    Enabled: NotRequired[Expr[bool]]


class DeliveryStreamSnowflakeBufferingHints(TypedDict, closed=True):
    IntervalInSeconds: NotRequired[Expr[int]]
    SizeInMBs: NotRequired[Expr[int]]


class DeliveryStreamSnowflakeRetryOptions(TypedDict, closed=True):
    DurationInSeconds: NotRequired[Expr[int]]


class DeliveryStreamSnowflakeDestinationConfiguration(TypedDict, closed=True):
    PrivateKey: NotRequired[Expr[str]]
    User: NotRequired[Expr[str]]
    Table: Expr[str]
    SnowflakeVpcConfiguration: NotRequired[Expr[DeliveryStreamSnowflakeVpcConfiguration]]
    DataLoadingOption: NotRequired[Expr[str]]
    Schema: Expr[str]
    ContentColumnName: NotRequired[Expr[str]]
    SecretsManagerConfiguration: NotRequired[Expr[DeliveryStreamSecretsManagerConfiguration]]
    SnowflakeRoleConfiguration: NotRequired[Expr[DeliveryStreamSnowflakeRoleConfiguration]]
    ProcessingConfiguration: NotRequired[Expr[DeliveryStreamProcessingConfiguration]]
    AccountUrl: Expr[str]
    RoleARN: Expr[str]
    S3BackupMode: NotRequired[Expr[str]]
    S3Configuration: Expr[DeliveryStreamS3DestinationConfiguration]
    BufferingHints: NotRequired[Expr[DeliveryStreamSnowflakeBufferingHints]]
    MetaDataColumnName: NotRequired[Expr[str]]
    Database: Expr[str]
    RetryOptions: NotRequired[Expr[DeliveryStreamSnowflakeRetryOptions]]
    KeyPassphrase: NotRequired[Expr[str]]
    CloudWatchLoggingOptions: NotRequired[Expr[DeliveryStreamCloudWatchLoggingOptions]]


class DeliveryStreamDatabaseColumns(TypedDict, closed=True):
    Exclude: NotRequired[Expr[list[Expr[str]]]]
    Include: NotRequired[Expr[list[Expr[str]]]]


class DeliveryStreamDatabases(TypedDict, closed=True):
    Exclude: NotRequired[Expr[list[Expr[str]]]]
    Include: NotRequired[Expr[list[Expr[str]]]]


class DeliveryStreamDatabaseSourceAuthenticationConfiguration(TypedDict, closed=True):
    SecretsManagerConfiguration: Expr[DeliveryStreamSecretsManagerConfiguration]


class DeliveryStreamDatabaseTables(TypedDict, closed=True):
    Exclude: NotRequired[Expr[list[Expr[str]]]]
    Include: NotRequired[Expr[list[Expr[str]]]]


class DeliveryStreamDatabaseSourceVPCConfiguration(TypedDict, closed=True):
    VpcEndpointServiceName: Expr[str]


class DeliveryStreamDatabaseSourceConfiguration(TypedDict, closed=True):
    Digest: NotRequired[Expr[str]]
    Port: Expr[int]
    PublicCertificate: NotRequired[Expr[str]]
    Columns: NotRequired[Expr[DeliveryStreamDatabaseColumns]]
    Type: Expr[str]
    SurrogateKeys: NotRequired[Expr[list[Expr[str]]]]
    Databases: Expr[DeliveryStreamDatabases]
    Endpoint: Expr[str]
    SSLMode: NotRequired[Expr[str]]
    SnapshotWatermarkTable: Expr[str]
    DatabaseSourceAuthenticationConfiguration: Expr[DeliveryStreamDatabaseSourceAuthenticationConfiguration]
    Tables: Expr[DeliveryStreamDatabaseTables]
    DatabaseSourceVPCConfiguration: Expr[DeliveryStreamDatabaseSourceVPCConfiguration]


class DeliveryStreamProps(TypedDict, closed=True):
    'Resource Type definition for AWS::KinesisFirehose::DeliveryStream'
    DeliveryStreamEncryptionConfigurationInput: NotRequired[Expr[DeliveryStreamDeliveryStreamEncryptionConfigurationInput]]
    HttpEndpointDestinationConfiguration: NotRequired[Expr[DeliveryStreamHttpEndpointDestinationConfiguration]]
    KinesisStreamSourceConfiguration: NotRequired[Expr[DeliveryStreamKinesisStreamSourceConfiguration]]
    DeliveryStreamType: NotRequired[Expr[str]]
    IcebergDestinationConfiguration: NotRequired[Expr[DeliveryStreamIcebergDestinationConfiguration]]
    RedshiftDestinationConfiguration: NotRequired[Expr[DeliveryStreamRedshiftDestinationConfiguration]]
    AmazonopensearchserviceDestinationConfiguration: NotRequired[Expr[DeliveryStreamAmazonopensearchserviceDestinationConfiguration]]
    MSKSourceConfiguration: NotRequired[Expr[DeliveryStreamMSKSourceConfiguration]]
    DirectPutSourceConfiguration: NotRequired[Expr[DeliveryStreamDirectPutSourceConfiguration]]
    SplunkDestinationConfiguration: NotRequired[Expr[DeliveryStreamSplunkDestinationConfiguration]]
    ExtendedS3DestinationConfiguration: NotRequired[Expr[DeliveryStreamExtendedS3DestinationConfiguration]]
    AmazonOpenSearchServerlessDestinationConfiguration: NotRequired[Expr[DeliveryStreamAmazonOpenSearchServerlessDestinationConfiguration]]
    ElasticsearchDestinationConfiguration: NotRequired[Expr[DeliveryStreamElasticsearchDestinationConfiguration]]
    SnowflakeDestinationConfiguration: NotRequired[Expr[DeliveryStreamSnowflakeDestinationConfiguration]]
    DatabaseSourceConfiguration: NotRequired[Expr[DeliveryStreamDatabaseSourceConfiguration]]
    S3DestinationConfiguration: NotRequired[Expr[DeliveryStreamS3DestinationConfiguration]]
    DeliveryStreamName: NotRequired[Expr[str]]
    Tags: NotRequired[Expr[Sequence[Expr[Tag]]]]


class DeliveryStream(ResourceAttrs):
    'Resource Type definition for AWS::KinesisFirehose::DeliveryStream'
    Type: Literal['AWS::KinesisFirehose::DeliveryStream']
    Properties: NotRequired[DeliveryStreamProps]


def delivery_stream(
    *,
    depends_on: DependsOn | None = None,
    deletion_policy: DeletionPolicy | None = None,
    update_replace_policy: UpdateReplacePolicy | None = None,
    condition: str | None = None,
    metadata: dict[str, Any] | None = None,
    **props: Unpack[DeliveryStreamProps],
) -> DeliveryStream:
    return build('AWS::KinesisFirehose::DeliveryStream', props, depends_on, deletion_policy, update_replace_policy, condition, metadata)

Attributes

Read-only values for get_att(logical_id, attribute). They are not accepted as inputs.

  • Arn