// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`creates a KDF delivery stream 1`] = ` Object { "Conditions": Object { "AwsCdkKinesisEncryptedStreamsUnsupportedRegions": Object { "Fn::Or": Array [ Object { "Fn::Equals": Array [ Object { "Ref": "AWS::Region", }, "cn-north-1", ], }, Object { "Fn::Equals": Array [ Object { "Ref": "AWS::Region", }, "cn-northwest-1", ], }, ], }, "TestDeliveryStreamDynamicPartitioningDisabled3C4E234B": Object { "Fn::Equals": Array [ "Enabled", "Disabled", ], }, "TestDeliveryStreamDynamicPartitioningEnabled97CE6F18": Object { "Fn::Equals": Array [ "Enabled", "Enabled", ], }, "TestDeliveryStreamNewLineDelimiter962A7F97": Object { "Fn::Equals": Array [ "Disabled", "Enabled", ], }, }, "Resources": Object { "TestDeliveryStreamDeliveryStreamWithDPDF840BBB": Object { "Condition": "TestDeliveryStreamDynamicPartitioningEnabled97CE6F18", "Properties": Object { "DeliveryStreamType": "KinesisStreamAsSource", "ExtendedS3DestinationConfiguration": Object { "BucketARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, "BufferingHints": Object { "IntervalInSeconds": 60, "SizeInMBs": 1, }, "CompressionFormat": "GZIP", "DynamicPartitioningConfiguration": Object { "Enabled": true, "RetryOptions": Object { "DurationInSeconds": 300, }, }, "ErrorOutputPrefix": "errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}", "Prefix": "data/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/", "ProcessingConfiguration": Object { "Enabled": true, "Processors": Array [ Object { "Parameters": Array [ Object { "ParameterName": "MetadataExtractionQuery", "ParameterValue": "{ foo: .bar }", }, Object { "ParameterName": "JsonParsingEngine", "ParameterValue": "JQ-1.6", }, ], "Type": "MetadataExtraction", }, Object { "Parameters": Array [ Object { "ParameterName": "Delimiter", "ParameterValue": Object { "Fn::If": Array [ "TestDeliveryStreamNewLineDelimiter962A7F97", "\\\\n", "", ], }, }, ], "Type": "AppendDelimiterToRecord", }, ], }, "RoleARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamRoleE7C7EE62", "Arn", ], }, }, "KinesisStreamSourceConfiguration": Object { "KinesisStreamARN": Object { "Fn::GetAtt": Array [ "TestStreamE6F40222", "Arn", ], }, "RoleARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamRoleE7C7EE62", "Arn", ], }, }, }, "Type": "AWS::KinesisFirehose::DeliveryStream", }, "TestDeliveryStreamDeliveryStreamWithoutDPD816E3D0": Object { "Condition": "TestDeliveryStreamDynamicPartitioningDisabled3C4E234B", "Properties": Object { "DeliveryStreamType": "KinesisStreamAsSource", "ExtendedS3DestinationConfiguration": Object { "BucketARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, "BufferingHints": Object { "IntervalInSeconds": 60, "SizeInMBs": 1, }, "CompressionFormat": "GZIP", "ErrorOutputPrefix": "errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}", "Prefix": "data/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/", "RoleARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamRoleE7C7EE62", "Arn", ], }, }, "KinesisStreamSourceConfiguration": Object { "KinesisStreamARN": Object { "Fn::GetAtt": Array [ "TestStreamE6F40222", "Arn", ], }, "RoleARN": Object { "Fn::GetAtt": Array [ "TestDeliveryStreamRoleE7C7EE62", "Arn", ], }, }, }, "Type": "AWS::KinesisFirehose::DeliveryStream", }, "TestDeliveryStreamOutputAccessLogsBucketFF8475CB": Object { "DeletionPolicy": "Retain", "Metadata": Object { "cfn_nag": Object { "rules_to_suppress": Array [ Object { "id": "W35", "reason": "This bucket is used to store access logs for another bucket", }, ], }, }, "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "AES256", }, }, ], }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "TestDeliveryStreamOutputAccessLogsBucketPolicyA3079E22": Object { "Properties": Object { "Bucket": Object { "Ref": "TestDeliveryStreamOutputAccessLogsBucketFF8475CB", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:PutObject", "Condition": Object { "ArnLike": Object { "aws:SourceArn": Array [ Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, ], }, "StringEquals": Object { "aws:SourceAccount": Object { "Ref": "AWS::AccountId", }, }, }, "Effect": "Allow", "Principal": Object { "Service": "logging.s3.amazonaws.com", }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputAccessLogsBucketFF8475CB", "Arn", ], }, "/*", ], ], }, "Sid": "S3ServerAccessLogsPolicy", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "TestDeliveryStreamOutputBucket4037EDA5": Object { "DeletionPolicy": "Retain", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "AES256", }, }, ], }, "LifecycleConfiguration": Object { "Rules": Array [ Object { "AbortIncompleteMultipartUpload": Object { "DaysAfterInitiation": 7, }, "Id": "multipart-upload-rule", "Status": "Enabled", }, Object { "Id": "intelligent-tiering-rule", "Status": "Enabled", "Transitions": Array [ Object { "StorageClass": "INTELLIGENT_TIERING", "TransitionInDays": 1, }, ], }, ], }, "LoggingConfiguration": Object { "DestinationBucketName": Object { "Ref": "TestDeliveryStreamOutputAccessLogsBucketFF8475CB", }, }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "TestDeliveryStreamOutputBucketPolicyD66D7D0A": Object { "Properties": Object { "Bucket": Object { "Ref": "TestDeliveryStreamOutputBucket4037EDA5", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, "/*", ], ], }, Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, ], "Sid": "HttpsOnly", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "TestDeliveryStreamRoleDefaultPolicy2D6FCBFE": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:DeleteObject*", "s3:PutObject*", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "TestDeliveryStreamOutputBucket4037EDA5", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, "PolicyName": "TestDeliveryStreamRoleDefaultPolicy2D6FCBFE", "Roles": Array [ Object { "Ref": "TestDeliveryStreamRoleE7C7EE62", }, ], }, "Type": "AWS::IAM::Policy", }, "TestDeliveryStreamRoleE7C7EE62": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "firehose.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "Policies": Array [ Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "kinesis:DescribeStream", "kinesis:DescribeStreamSummary", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:SubscribeToShard", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "TestStreamE6F40222", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "ReadSource", }, ], }, "Type": "AWS::IAM::Role", }, "TestStreamE6F40222": Object { "Properties": Object { "RetentionPeriodHours": 24, "ShardCount": 1, "StreamEncryption": Object { "Fn::If": Array [ "AwsCdkKinesisEncryptedStreamsUnsupportedRegions", Object { "Ref": "AWS::NoValue", }, Object { "EncryptionType": "KMS", "KeyId": "alias/aws/kinesis", }, ], }, "StreamModeDetails": Object { "StreamMode": "PROVISIONED", }, }, "Type": "AWS::Kinesis::Stream", }, }, } `;