import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class EncryptionConfiguration { KMSEncryptionConfig ? : KMSEncryptionConfig ; NoEncryptionConfig ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InputFormatConfiguration { Deserializer ? : Deserializer ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HiveJsonSerDe { TimestampFormats ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Processor { Parameters ? : List < ProcessorParameter > ; Type ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DataFormatConversionConfiguration { Enabled ? : Value < boolean > ; InputFormatConfiguration ? : InputFormatConfiguration ; OutputFormatConfiguration ? : OutputFormatConfiguration ; SchemaConfiguration ? : SchemaConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaConfiguration { CatalogId ? : Value < string > ; DatabaseName ? : Value < string > ; Region ? : Value < string > ; RoleARN ? : Value < string > ; TableName ? : Value < string > ; VersionId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SplunkRetryOptions { DurationInSeconds ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpEndpointRequestConfiguration { ContentEncoding ? : Value < string > ; CommonAttributes ? : List < HttpEndpointCommonAttribute > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpEndpointConfiguration { Url ! : Value < string > ; AccessKey ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Serializer { OrcSerDe ? : OrcSerDe ; ParquetSerDe ? : ParquetSerDe ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CopyCommand { CopyOptions ? : Value < string > ; DataTableColumns ? : Value < string > ; DataTableName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OpenXJsonSerDe { CaseInsensitive ? : Value < boolean > ; ColumnToJsonKeyMappings ? : { [ key ] : Value < string > ; } ; ConvertDotsInJsonKeysToUnderscores ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OrcSerDe { BlockSizeBytes ? : Value < number > ; BloomFilterColumns ? : List < Value < string > > ; BloomFilterFalsePositiveProbability ? : Value < number > ; Compression ? : Value < string > ; DictionaryKeyThreshold ? : Value < number > ; EnablePadding ? : Value < boolean > ; FormatVersion ? : Value < string > ; PaddingTolerance ? : Value < number > ; RowIndexStride ? : Value < number > ; StripeSizeBytes ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ElasticsearchBufferingHints { IntervalInSeconds ? : Value < number > ; SizeInMBs ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SplunkDestinationConfiguration { CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; HECAcknowledgmentTimeoutInSeconds ? : Value < number > ; HECEndpoint ! : Value < string > ; HECEndpointType ! : Value < string > ; HECToken ! : Value < string > ; ProcessingConfiguration ? : ProcessingConfiguration ; RetryOptions ? : SplunkRetryOptions ; S3BackupMode ? : Value < string > ; S3Configuration ! : S3DestinationConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CloudWatchLoggingOptions { Enabled ? : Value < boolean > ; LogGroupName ? : Value < string > ; LogStreamName ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ProcessingConfiguration { Enabled ? : Value < boolean > ; Processors ? : List < Processor > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BufferingHints { IntervalInSeconds ? : Value < number > ; SizeInMBs ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ProcessorParameter { ParameterName ! : Value < string > ; ParameterValue ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeliveryStreamEncryptionConfigurationInput { KeyARN ? : Value < string > ; KeyType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ElasticsearchRetryOptions { DurationInSeconds ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KMSEncryptionConfig { AWSKMSKeyARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class OutputFormatConfiguration { Serializer ? : Serializer ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ElasticsearchDestinationConfiguration { BufferingHints ? : ElasticsearchBufferingHints ; CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; DomainARN ? : Value < string > ; IndexName ! : Value < string > ; IndexRotationPeriod ? : Value < string > ; ProcessingConfiguration ? : ProcessingConfiguration ; RetryOptions ? : ElasticsearchRetryOptions ; RoleARN ! : Value < string > ; S3BackupMode ? : Value < string > ; S3Configuration ! : S3DestinationConfiguration ; ClusterEndpoint ? : Value < string > ; TypeName ? : Value < string > ; VpcConfiguration ? : VpcConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Deserializer { HiveJsonSerDe ? : HiveJsonSerDe ; OpenXJsonSerDe ? : OpenXJsonSerDe ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KinesisStreamSourceConfiguration { KinesisStreamARN ! : Value < string > ; RoleARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RedshiftRetryOptions { DurationInSeconds ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RetryOptions { DurationInSeconds ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ParquetSerDe { BlockSizeBytes ? : Value < number > ; Compression ? : Value < string > ; EnableDictionaryCompression ? : Value < boolean > ; MaxPaddingBytes ? : Value < number > ; PageSizeBytes ? : Value < number > ; WriterVersion ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class S3DestinationConfiguration { BucketARN ! : Value < string > ; BufferingHints ? : BufferingHints ; CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; CompressionFormat ? : Value < string > ; EncryptionConfiguration ? : EncryptionConfiguration ; ErrorOutputPrefix ? : Value < string > ; Prefix ? : Value < string > ; RoleARN ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VpcConfiguration { RoleARN ! : Value < string > ; SubnetIds ! : List < Value < string > > ; SecurityGroupIds ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ExtendedS3DestinationConfiguration { BucketARN ! : Value < string > ; BufferingHints ? : BufferingHints ; CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; CompressionFormat ? : Value < string > ; DataFormatConversionConfiguration ? : DataFormatConversionConfiguration ; EncryptionConfiguration ? : EncryptionConfiguration ; ErrorOutputPrefix ? : Value < string > ; Prefix ? : Value < string > ; ProcessingConfiguration ? : ProcessingConfiguration ; RoleARN ! : Value < string > ; S3BackupConfiguration ? : S3DestinationConfiguration ; S3BackupMode ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RedshiftDestinationConfiguration { CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; ClusterJDBCURL ! : Value < string > ; CopyCommand ! : CopyCommand ; Password ! : Value < string > ; ProcessingConfiguration ? : ProcessingConfiguration ; RetryOptions ? : RedshiftRetryOptions ; RoleARN ! : Value < string > ; S3BackupConfiguration ? : S3DestinationConfiguration ; S3BackupMode ? : Value < string > ; S3Configuration ! : S3DestinationConfiguration ; Username ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpEndpointCommonAttribute { AttributeName ! : Value < string > ; AttributeValue ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class HttpEndpointDestinationConfiguration { RoleARN ? : Value < string > ; EndpointConfiguration ! : HttpEndpointConfiguration ; RequestConfiguration ? : HttpEndpointRequestConfiguration ; BufferingHints ? : BufferingHints ; CloudWatchLoggingOptions ? : CloudWatchLoggingOptions ; ProcessingConfiguration ? : ProcessingConfiguration ; RetryOptions ? : RetryOptions ; S3BackupMode ? : Value < string > ; S3Configuration ! : S3DestinationConfiguration ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface DeliveryStreamProperties { DeliveryStreamEncryptionConfigurationInput ? : DeliveryStreamEncryptionConfigurationInput ; DeliveryStreamName ? : Value < string > ; DeliveryStreamType ? : Value < string > ; ElasticsearchDestinationConfiguration ? : ElasticsearchDestinationConfiguration ; ExtendedS3DestinationConfiguration ? : ExtendedS3DestinationConfiguration ; KinesisStreamSourceConfiguration ? : KinesisStreamSourceConfiguration ; RedshiftDestinationConfiguration ? : RedshiftDestinationConfiguration ; S3DestinationConfiguration ? : S3DestinationConfiguration ; SplunkDestinationConfiguration ? : SplunkDestinationConfiguration ; HttpEndpointDestinationConfiguration ? : HttpEndpointDestinationConfiguration ; Tags ? : List < ResourceTag > ; } export default class DeliveryStream extends ResourceBase < DeliveryStreamProperties > { static EncryptionConfiguration = EncryptionConfiguration ; static InputFormatConfiguration = InputFormatConfiguration ; static HiveJsonSerDe = HiveJsonSerDe ; static Processor = Processor ; static DataFormatConversionConfiguration = DataFormatConversionConfiguration ; static SchemaConfiguration = SchemaConfiguration ; static SplunkRetryOptions = SplunkRetryOptions ; static HttpEndpointRequestConfiguration = HttpEndpointRequestConfiguration ; static HttpEndpointConfiguration = HttpEndpointConfiguration ; static Serializer = Serializer ; static CopyCommand = CopyCommand ; static OpenXJsonSerDe = OpenXJsonSerDe ; static OrcSerDe = OrcSerDe ; static ElasticsearchBufferingHints = ElasticsearchBufferingHints ; static SplunkDestinationConfiguration = SplunkDestinationConfiguration ; static CloudWatchLoggingOptions = CloudWatchLoggingOptions ; static ProcessingConfiguration = ProcessingConfiguration ; static BufferingHints = BufferingHints ; static ProcessorParameter = ProcessorParameter ; static DeliveryStreamEncryptionConfigurationInput = DeliveryStreamEncryptionConfigurationInput ; static ElasticsearchRetryOptions = ElasticsearchRetryOptions ; static KMSEncryptionConfig = KMSEncryptionConfig ; static OutputFormatConfiguration = OutputFormatConfiguration ; static ElasticsearchDestinationConfiguration = ElasticsearchDestinationConfiguration ; static Deserializer = Deserializer ; static KinesisStreamSourceConfiguration = KinesisStreamSourceConfiguration ; static RedshiftRetryOptions = RedshiftRetryOptions ; static RetryOptions = RetryOptions ; static ParquetSerDe = ParquetSerDe ; static S3DestinationConfiguration = S3DestinationConfiguration ; static VpcConfiguration = VpcConfiguration ; static ExtendedS3DestinationConfiguration = ExtendedS3DestinationConfiguration ; static RedshiftDestinationConfiguration = RedshiftDestinationConfiguration ; static HttpEndpointCommonAttribute = HttpEndpointCommonAttribute ; static HttpEndpointDestinationConfiguration = HttpEndpointDestinationConfiguration ; constructor ( properties ? ) { super ( 'AWS::KinesisFirehose::DeliveryStream' , properties || { } ) ; } }