Provides a Kinesis Stream resource. Amazon Kinesis is a managed service that scales elastically for real-time processing of streaming big data.

For more details, see the Amazon Kinesis Documentation.

Example Usage

resource "aws_kinesis_stream" "test_stream" {
    name = "terraform-kinesis-test"
    shard_count = 1
    retention_period = 48
    shard_level_metrics = [
    tags {
        Environment = "test"

Argument Reference

The following arguments are supported:

  • name - (Required) A name to identify the stream. This is unique to the AWS account and region the Stream is created in.
  • shard_count – (Required) The number of shards that the stream will use. Amazon has guidlines for specifying the Stream size that should be referenced when creating a Kinesis stream. See Amazon Kinesis Streams for more.
  • retention_period - (Optional) 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.
  • shard_level_metrics - (Optional) A list of shard-level CloudWatch metrics which can be enabled for the stream. See Monitoring with CloudWatch for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable.
  • tags - (Optional) A mapping of tags to assign to the resource.

Attributes Reference

  • id - The unique Stream id
  • name - The unique Stream name (same as id)
  • shard_count - The count of Shards for this Stream
  • arn - The Amazon Resource Name (ARN) specifying the Stream