diff --git a/packages/@aws-cdk/aws-kinesisfirehose-alpha/README.md b/packages/@aws-cdk/aws-kinesisfirehose-alpha/README.md index 04e87b0365571..d6e37bd9bdbe4 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-alpha/README.md +++ b/packages/@aws-cdk/aws-kinesisfirehose-alpha/README.md @@ -299,6 +299,22 @@ new firehose.DeliveryStream(this, 'Delivery Stream', { See: [Data Delivery Frequency](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#frequency) in the *Kinesis Data Firehose Developer Guide*. +Zero buffering, where Amazon Kinesis Data Firehose stream can be configured to not buffer data before delivery, is supported by +setting the "buffer interval" to 0. + +```ts +// Setup zero buffering +declare const bucket: s3.Bucket; +const destination = new destinations.S3Bucket(bucket, { + bufferingInterval: Duration.seconds(0), +}); +new firehose.DeliveryStream(this, 'ZeroBufferDeliveryStream', { + destinations: [destination], +}); +``` + +See: [Buffering Hints](https://docs.aws.amazon.com/firehose/latest/dev/buffering-hints.html). + ## Destination Encryption Your data can be automatically encrypted when it is delivered to S3 as a final or an diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/common.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/common.ts index ab7de15a28517..53116abb489e0 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/common.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/common.ts @@ -86,7 +86,7 @@ export interface CommonDestinationS3Props { * The length of time that Firehose buffers incoming data before delivering * it to the S3 bucket. * - * Minimum: Duration.seconds(60) + * Minimum: Duration.seconds(0) * Maximum: Duration.seconds(900) * * @default Duration.seconds(300) diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/private/helpers.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/private/helpers.ts index 8a3cddc65d1ca..c5cc69fb28a02 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/private/helpers.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/lib/private/helpers.ts @@ -87,8 +87,8 @@ export function createBufferingHints( } const intervalInSeconds = interval?.toSeconds() ?? 300; - if (intervalInSeconds < 60 || intervalInSeconds > 900) { - throw new Error(`Buffering interval must be between 60 and 900 seconds. Buffering interval provided was ${intervalInSeconds} seconds.`); + if (intervalInSeconds > 900) { + throw new Error(`Buffering interval must be less than 900 seconds. Buffering interval provided was ${intervalInSeconds} seconds.`); } const sizeInMBs = size?.toMebibytes() ?? 5; if (sizeInMBs < 1 || sizeInMBs > 128) { diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json index 488de330f9d78..891ff4af0c64e 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.assets.json @@ -1,5 +1,5 @@ { - "version": "34.0.0", + "version": "36.0.0", "files": { "2ec8ad9e91dcd6e7ad6a5c84ffc6c9c05c408aca3b26ceb2816d81043e6c4dc3": { "source": { @@ -27,7 +27,7 @@ } } }, - "a05127e41968d710aab4219add6693dd03376b7bae654f9ffe291a21f2aa7c68": { + "0019f412b05fd0b891fa582b76ccab00d7ae0e38c531e41719fd3e93febbb3e4": { "source": { "path": "aws-cdk-firehose-delivery-stream-s3-all-properties.template.json", "packaging": "file" @@ -35,7 +35,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "a05127e41968d710aab4219add6693dd03376b7bae654f9ffe291a21f2aa7c68.json", + "objectKey": "0019f412b05fd0b891fa582b76ccab00d7ae0e38c531e41719fd3e93febbb3e4.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.template.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.template.json index c3180c9549c1a..f3196dbdf76c6 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.template.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/aws-cdk-firehose-delivery-stream-s3-all-properties.template.json @@ -680,6 +680,146 @@ "DependsOn": [ "DeliveryStreamS3DestinationRoleDefaultPolicy3015D8C7" ] + }, + "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "firehose.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "ZeroBufferingDeliveryStreamS3DestinationRoleDefaultPolicyC03FC12E": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "ZeroBufferingDeliveryStreamLogGroupFA68202E", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "ZeroBufferingDeliveryStreamS3DestinationRoleDefaultPolicyC03FC12E", + "Roles": [ + { + "Ref": "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3" + } + ] + } + }, + "ZeroBufferingDeliveryStreamLogGroupFA68202E": { + "Type": "AWS::Logs::LogGroup", + "Properties": { + "RetentionInDays": 731 + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "ZeroBufferingDeliveryStreamLogGroupS3Destination806CFD96": { + "Type": "AWS::Logs::LogStream", + "Properties": { + "LogGroupName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupFA68202E" + } + }, + "UpdateReplacePolicy": "Retain", + "DeletionPolicy": "Retain" + }, + "ZeroBufferingDeliveryStream7C2555C9": { + "Type": "AWS::KinesisFirehose::DeliveryStream", + "Properties": { + "DeliveryStreamType": "DirectPut", + "ExtendedS3DestinationConfiguration": { + "BucketARN": { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + "BufferingHints": { + "IntervalInSeconds": 0, + "SizeInMBs": 5 + }, + "CloudWatchLoggingOptions": { + "Enabled": true, + "LogGroupName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupFA68202E" + }, + "LogStreamName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupS3Destination806CFD96" + } + }, + "CompressionFormat": "GZIP", + "ErrorOutputPrefix": "errorPrefix", + "Prefix": "regularPrefix", + "RoleARN": { + "Fn::GetAtt": [ + "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3", + "Arn" + ] + } + } + }, + "DependsOn": [ + "ZeroBufferingDeliveryStreamS3DestinationRoleDefaultPolicyC03FC12E" + ] } }, "Mappings": { diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/cdk.out b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/cdk.out index 2313ab5436501..1f0068d32659a 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/cdk.out +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"34.0.0"} \ No newline at end of file +{"version":"36.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/integ.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/integ.json index 23f5107d9de36..3ccd54c486955 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/integ.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "34.0.0", + "version": "36.0.0", "testCases": { "integ.s3-bucket.lit": { "stacks": [ diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/manifest.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/manifest.json index d1e730609d35e..8d597cbb1998a 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/manifest.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "34.0.0", + "version": "36.0.0", "artifacts": { "aws-cdk-firehose-delivery-stream-s3-all-properties.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a05127e41968d710aab4219add6693dd03376b7bae654f9ffe291a21f2aa7c68.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0019f412b05fd0b891fa582b76ccab00d7ae0e38c531e41719fd3e93febbb3e4.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -154,6 +154,36 @@ "data": "awscdkawskinesisfirehoseCidrBlocks" } ], + "/aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3" + } + ], + "/aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ZeroBufferingDeliveryStreamS3DestinationRoleDefaultPolicyC03FC12E" + } + ], + "/aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ZeroBufferingDeliveryStreamLogGroupFA68202E" + } + ], + "/aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup/S3Destination/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ZeroBufferingDeliveryStreamLogGroupS3Destination806CFD96" + } + ], + "/aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ZeroBufferingDeliveryStream7C2555C9" + } + ], "/aws-cdk-firehose-delivery-stream-s3-all-properties/BootstrapVersion": [ { "type": "aws:cdk:logicalId", diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/tree.json b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/tree.json index 67ed6fd9fc824..802c695dc655c 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/tree.json +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.js.snapshot/tree.json @@ -155,7 +155,7 @@ } }, "constructInfo": { - "fqn": "aws-cdk-lib.CustomResourceProvider", + "fqn": "aws-cdk-lib.CustomResourceProviderBase", "version": "0.0.0" } }, @@ -961,6 +961,237 @@ "version": "0.0.0" } }, + "ZeroBufferingDeliveryStream": { + "id": "ZeroBufferingDeliveryStream", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream", + "children": { + "S3 Destination Role": { + "id": "S3 Destination Role", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role", + "children": { + "ImportS3 Destination Role": { + "id": "ImportS3 Destination Role", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/ImportS3 Destination Role", + "constructInfo": { + "fqn": "aws-cdk-lib.Resource", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Role", + "aws:cdk:cloudformation:props": { + "assumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "firehose.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnRole", + "version": "0.0.0" + } + }, + "DefaultPolicy": { + "id": "DefaultPolicy", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/DefaultPolicy", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/S3 Destination Role/DefaultPolicy/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::IAM::Policy", + "aws:cdk:cloudformation:props": { + "policyDocument": { + "Statement": [ + { + "Action": [ + "s3:Abort*", + "s3:DeleteObject*", + "s3:GetBucket*", + "s3:GetObject*", + "s3:List*", + "s3:PutObject", + "s3:PutObjectLegalHold", + "s3:PutObjectRetention", + "s3:PutObjectTagging", + "s3:PutObjectVersionTagging" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + { + "Fn::Join": [ + "", + [ + { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + "/*" + ] + ] + } + ] + }, + { + "Action": [ + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": { + "Fn::GetAtt": [ + "ZeroBufferingDeliveryStreamLogGroupFA68202E", + "Arn" + ] + } + } + ], + "Version": "2012-10-17" + }, + "policyName": "ZeroBufferingDeliveryStreamS3DestinationRoleDefaultPolicyC03FC12E", + "roles": [ + { + "Ref": "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3" + } + ] + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Policy", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_iam.Role", + "version": "0.0.0" + } + }, + "LogGroup": { + "id": "LogGroup", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup", + "aws:cdk:cloudformation:props": { + "retentionInDays": 731 + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup", + "version": "0.0.0" + } + }, + "S3Destination": { + "id": "S3Destination", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup/S3Destination", + "children": { + "Resource": { + "id": "Resource", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/LogGroup/S3Destination/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::Logs::LogStream", + "aws:cdk:cloudformation:props": { + "logGroupName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupFA68202E" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.CfnLogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_logs.LogGroup", + "version": "0.0.0" + } + }, + "Resource": { + "id": "Resource", + "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/ZeroBufferingDeliveryStream/Resource", + "attributes": { + "aws:cdk:cloudformation:type": "AWS::KinesisFirehose::DeliveryStream", + "aws:cdk:cloudformation:props": { + "deliveryStreamType": "DirectPut", + "extendedS3DestinationConfiguration": { + "cloudWatchLoggingOptions": { + "enabled": true, + "logGroupName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupFA68202E" + }, + "logStreamName": { + "Ref": "ZeroBufferingDeliveryStreamLogGroupS3Destination806CFD96" + } + }, + "roleArn": { + "Fn::GetAtt": [ + "ZeroBufferingDeliveryStreamS3DestinationRole606BB6E3", + "Arn" + ] + }, + "bufferingHints": { + "intervalInSeconds": 0, + "sizeInMBs": 5 + }, + "bucketArn": { + "Fn::GetAtt": [ + "Bucket83908E77", + "Arn" + ] + }, + "compressionFormat": "GZIP", + "errorOutputPrefix": "errorPrefix", + "prefix": "regularPrefix" + } + } + }, + "constructInfo": { + "fqn": "aws-cdk-lib.aws_kinesisfirehose.CfnDeliveryStream", + "version": "0.0.0" + } + } + }, + "constructInfo": { + "fqn": "@aws-cdk/aws-kinesisfirehose-alpha.DeliveryStream", + "version": "0.0.0" + } + }, "BootstrapVersion": { "id": "BootstrapVersion", "path": "aws-cdk-firehose-delivery-stream-s3-all-properties/BootstrapVersion", @@ -988,7 +1219,7 @@ "path": "Tree", "constructInfo": { "fqn": "constructs.Construct", - "version": "10.2.70" + "version": "10.3.0" } } }, diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.ts index da166d78c85d3..a3565a783bcce 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/integ.s3-bucket.lit.ts @@ -68,4 +68,13 @@ new firehose.DeliveryStream(stack, 'Delivery Stream', { })], }); +new firehose.DeliveryStream(stack, 'ZeroBufferingDeliveryStream', { + destinations: [new destinations.S3Bucket(bucket, { + compression: destinations.Compression.GZIP, + dataOutputPrefix: 'regularPrefix', + errorOutputPrefix: 'errorPrefix', + bufferingInterval: cdk.Duration.seconds(0), + })], +}); + app.synth(); diff --git a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts index 18404c284ce2b..23230913f97ca 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts +++ b/packages/@aws-cdk/aws-kinesisfirehose-destinations-alpha/test/s3-bucket.test.ts @@ -407,19 +407,12 @@ describe('S3 destination', () => { }); it('validates bufferingInterval', () => { - expect(() => new firehose.DeliveryStream(stack, 'DeliveryStream', { - destinations: [new firehosedestinations.S3Bucket(bucket, { - bufferingInterval: cdk.Duration.seconds(30), - bufferingSize: cdk.Size.mebibytes(1), - })], - })).toThrowError('Buffering interval must be between 60 and 900 seconds. Buffering interval provided was 30 seconds.'); - expect(() => new firehose.DeliveryStream(stack, 'DeliveryStream2', { destinations: [new firehosedestinations.S3Bucket(bucket, { bufferingInterval: cdk.Duration.minutes(16), bufferingSize: cdk.Size.mebibytes(1), })], - })).toThrowError('Buffering interval must be between 60 and 900 seconds. Buffering interval provided was 960 seconds.'); + })).toThrowError('Buffering interval must be less than 900 seconds. Buffering interval provided was 960 seconds.'); }); it('validates bufferingSize', () => {