variable "environment" {
  description = "Name of the environment, e.g. dev, qa, prod"
  default     = "dev"
}

variable "aws_region" {
  default = "us-east-1"
}

variable "service_name" {
  description = "AWS Kinesis stream name"
  default     = "app_name"
}

variable "team_name" {
  description = "Name of the team responsible for this stream"
}

variable "retention_period" {
  description = "Length of time data records are accessible after they are added to the stream in hours"
  default     = 24
}

variable "kms_key_id" {
  description = "Default kms key for AWS Kinesis"
  default     = "alias/aws/kinesis"
}

variable "shard_count" {
  description = "Amount of shards being used in the kinesis stream"
  default     = 1
}

variable "shard_level_metrics" {
  description = "A list of shard-level CloudWatch metrics which can be enabled for the stream"
  default = [
    "IncomingBytes",
    "IncomingRecords",
    "IteratorAgeMilliseconds",
    "OutgoingBytes",
    "OutgoingRecords",
    "ReadProvisionedThroughputExceeded",
    "WriteProvisionedThroughputExceeded",
  ]
}

variable "application_family" {
  type        = string
  description = "Application family to which this service belongs"
}

variable "additional_tags" {
  type        = map(string)
  description = "Optional map of additional tags to set on resources. These will be combined with programmatically set required tags."
  default     = {}
}
