variable environment {}
variable service_name {}

provider "aws" {
    region = "us-east-1"
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket         = "dev-orcd-terraform-state"
    key            = "dev/dd-search/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = "true"
    dynamodb_table = "terraform-dev-dd-search"
  }
}

module "elasticsearch" {
  source = "git@github.com:theorchard/terraform-elasticsearch//"

  env                        = "${var.environment}"
  aws_es_domain_name         = "${var.service_name}"
  backup_s3_bucket_name      = "dev-orcdbucket1"
  schedule_exp               = "rate(6 hours)"
}

module "kinesis" {
  source = "../modules/kinesis"

  env                 = "${var.environment}"
  kinesis_stream_name = "${var.service_name}"
  shard_count         = 3
}

module "lambda" {
  source = "../modules/lambda"

  env                          = "${var.environment}"
  lambda_name                  = "${var.service_name}"
  lambda_function_package_path = "${path.module}/lambda.zip"
  kinesis_stream_name          = "${module.kinesis.kinesis_stream_arn}"
  kinesis_batch_size           = 10
}
