Skip to content

Module Banner

terraform-aws-arc-kinesis-stream

Module: sourcefuse/arc-kinesis-stream/aws

Registry: https://registry.terraform.io/modules/sourcefuse/arc-kinesis-stream/aws

Category: Streaming / Data Ingestion

Source: https://github.com/sourcefuse/terraform-aws-arc-kinesis-stream

Latest Release Last Updated Terraform GitHub Actions

Quality gate

Overview

Creates Kinesis Data Streams with configurable shard count, enhanced fan-out consumers, and KMS encryption.

What It Does

  • Kinesis Data Stream with configurable shard count
  • Enhanced fan-out consumers for parallel processing
  • On-demand or provisioned capacity mode
  • KMS encryption for data at rest
  • CloudWatch metrics and alarms
  • Retention period configuration

Quickstart

1
2
3
4
5
6
7
8
9
module "kinesis" {
  source         = "sourcefuse/arc-kinesis-stream/aws"
  version        = "0.0.1"
  name           = "${var.namespace}-${var.environment}-kinesis"
  shard_count    = var.shard_count
  consumer_count = var.consumer_count

  tags = module.tags.tags
}

Required Inputs

Name Type Description
name string Kinesis stream name
shard_count number Number of shards
## Key Outputs
Name Description
name Stream name
arn Stream ARN
stream_id Stream ID
## Full Variable & Output Reference

The complete inputs/outputs reference is auto-generated below.

Requirements

Name Version
terraform ~> 1.5, < 2.0.0
aws >= 4.0, < 6.0

Providers

Name Version
aws 5.58.0

Modules

No modules.

Resources

Name Type
aws_kinesis_stream.this resource
aws_kinesis_stream_consumer.this resource

Inputs

Name Description Type Default Required
consumer_count Number of consumers to register with Kinesis stream number 0 no
encryption_type The encryption type to use. Acceptable values are NONE and KMS. string "KMS" no
enforce_consumer_deletion A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error. bool true no
kms_key_id The GUID for the customer-managed KMS key to use for encryption. string "alias/aws/kinesis" no
name Name of kinesis-stream string n/a yes
retention_period Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours. Minimum value is 24. Default is 24. number 24 no
shard_count The number of shards that the stream will use number 1 no
shard_level_metrics A list of shard-level CloudWatch metrics which can be enabled for the stream. list(string)
[
"IncomingBytes",
"OutgoingBytes"
]
no
stream_mode Specifies the capacity mode of the stream. Must be either PROVISIONED or ON_DEMAND. If ON_DEMAND is used, then shard_count is ignored. string null no
tags Tags for AWS elasticache redis map(string) n/a yes

Outputs

Name Description
consumers List of consumers registered with Kinesis stream.
name Name of the Kinesis stream.
shard_count Number of shards provisioned.
stream_arn ARN of the Kinesis stream.

Git commits

while Contributing or doing git commit please specify the breaking change in your commit message whether its major,minor or patch

For Example

git commit -m "your commit message #major"
By specifying this , it will bump the version and if you dont specify this in your commit message then by default it will consider patch and will bump that accordingly

Development

Prerequisites

Configurations

  • Configure pre-commit hooks
    pre-commit install
    

Tests

  • Tests are available in test directory
  • Configure the dependencies
    1
    2
    3
    cd test/
    go mod init github.com/sourcefuse/terraform-aws-refarch-<module_name>
    go get github.com/gruntwork-io/terratest/modules/terraform
    
  • Now execute the test
    go test -timeout  30m
    

Contributing

See CONTRIBUTING.md for commit conventions and development setup.

Authors

This project is authored by: - SourceFuse