Kinesis Data Stream Setup

The kinesis-data-stream-addon and kinesis-data-stream-connector modules combine to add AWS Kinesis Data Stream access to the Sym Runtime.

Kinesis Data Stream Addon

The kinesis-data-stream-addon module adds a policy granting AWS Kinesis Data Stream access to the Sym Runtime Connector module.

This section is for Sym Integrators!

To implement the Data Stream Integration, view the Implementation guide below.

You typically include this Addon by adding aws/kinesis-data-stream to the addons property of the Runtime Connector module, rather than referring to the policy ARN itself.

Kinesis Data Stream ARNs must be provided, as IAM policies for Data Streams cannot use wildcards with tags or resource names.

module "runtime_connector" {
  source  = "terraform.symops.com/symopsio/runtime-connector/sym"
  version = ">= 1.0.0"

  addons      = ["aws/kinesis-data-stream"]
  environment = "sandbox"
}

Outputs

NameDescription
policy_arnKinesis Firehose's access policy arn

Inputs

NameDescriptionTypeDefaultRequired
environmentAn environment qualifier for the resources this module creates, to support a Terraform SDLC. The environment value is also the tag value that secrets must be tagged with to be accessible by this addon.stringn/ayes
stream_arnsList of Data Stream ARNs allowed to be accessed by the Sym Runtime.list(string)[]no
tag_nameName of the tag that resources must be tagged with to be accessible by this addon.string"SymEnv"no
tagsAdditional tags to apply to resourcesmap(string){}no

Required Inputs

The following input variables are required:

Description: An environment qualifier for the resources this module creates, to support a Terraform SDLC. The environment value is also the tag value that secrets must be tagged with to be accessible by this addon.

Type: string

Optional Inputs

The following input variables are optional (have default values):

Description: List of Data Stream ARNs allowed to be accessed by the Sym Runtime.

Type: list(string)

Default: []

Description: Name of the tag that resources must be tagged with to be accessible by this addon.

Type: string

Default: "SymEnv"

Description: Additional tags to apply to resources

Type: map(string)

Default: {}

Kinesis Data Stream Connector

The kinesis-data-stream-connector module provisions a single Kinesis Data Stream to which the Sym Runtime has permission to write log data.

To provide the Sym Runtime with access to the Kinesis Data Stream created in this Connector, use the aws/kinesis-data-stream addon as described above.

module "kinesis_data_stream_connector" {
  source  = "terraform.symops.com/symopsio/kinesis-data-stream-connector/sym"
  version = ">= 1.0.0"

  environment = "sandbox"
}

Outputs

NameDescription
data_stream_arnThe ARN of the created Kinesis Data Stream
data_stream_nameName of the created data stream

Inputs

NameDescriptionTypeDefaultRequired
encryption_typeThe encryption type to use for the stream. Valid values: KMS, NONEstring"NONE"no
enforce_consumer_deletionA boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error.boolfalseno
environmentAn environment qualifier for the resources this module creates, to support a Terraform SDLC.stringn/ayes
kms_key_idThe ID of the KMS key to use for encryption. Required if encryption_type is set to KMS.string""no
name_prefixA prefix for the Data Stream and Consumer namesstring""no
retention_periodLength of time data records are accessible after they are added to the stream (in hours). Range: 24 - 8760number24no
shard_countThe number of shards that the stream will use.number1no
shard_level_metricsA list of shard-level CloudWatch metrics which can be enabled for the stream.list(string)[]no
tagsAdditional tags to apply to resources.map(string){}no

Required Inputs

The following input variables are required:

Description: An environment qualifier for the resources this module creates, to support a Terraform SDLC.

Type: string

Optional Inputs

The following input variables are optional (have default values):

Description: The encryption type to use for the stream. Valid values: KMS, NONE

Type: string

Default: "NONE"

Description: A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error.

Type: bool

Default: false

Description: The ID of the KMS key to use for encryption. Required if encryption_type is set to KMS.

Type: string

Default: ""

Description: A prefix for the Data Stream and Consumer names

Type: string

Default: ""

Description: Length of time data records are accessible after they are added to the stream (in hours). Range: 24 - 8760

Type: number

Default: 24

Description: The number of shards that the stream will use.

Type: number

Default: 1

Description: A list of shard-level CloudWatch metrics which can be enabled for the stream.

Type: list(string)

Default: []

Description: Additional tags to apply to resources.

Type: map(string)

Default: {}


Did this page help you?