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

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/neo4j-cypher-scheduler/delete-liquigraphlock/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

data "aws_caller_identity" "current" {}

data "aws_vpc" "main" {
  tags = {
    Name = "dev"
  }
}

data "aws_subnet_ids" "private" {
  vpc_id = data.aws_vpc.main.id
  tags = {
    tier = "private"
  }
}

module "neo4j_cypher_scheduler_delete_liquigraphlock_fargate_environment" {
  source = "git@github.com:theorchard/terraform-fargate.git//?ref=1.6.2"

  environment                      = var.environment
  service_name                     = "${var.service_name}-${var.neo4j_source_folder_name}"
  autoscaling_enabled              = false
  aws_region                       = "us-east-1"
  commit_sha                       = "latest"
  container_port                   = "8080"
  task_type                        = "worker"
  desired_task_count               = 0
  task_cpu                         = 512
  task_memory                      = 1024
  maximum_capacity                 = 1
  minimum_capacity                 = 0
  vpc_id                           = data.aws_vpc.main.id
  fargate_service_subnets          = data.aws_subnet_ids.private.ids
  datadog_function_destination_arn = "arn:aws:lambda:us-east-1:${data.aws_caller_identity.current.account_id}:function:DatadogLambdaFunction"
  health_check_command             = "pgrep python"

  iam_managed_policy_attachments = [
    "arn:aws:iam::${data.aws_caller_identity.current.account_id}:policy/SecretsManager-${var.environment}-neo4j-cypher-scheduler-policy",
  ]

  environment_variables = [
    {
      Environment = var.environment
    },
    {
      NEO4J_SOURCE_FOLDER_NAME = var.neo4j_source_folder_name
    },
    {
      NEO4J_URL = "bolt+routing://dev-neo4j-cluster.dev.theorchard.io:7687"
    },
  ]
}
