
data "aws_iam_policy" "s3_env_rw_policy" {
  arn = "${local.policy_base_arn}-s3_env_rw"
}

data "aws_iam_policy" "s3_sme_data_rw_policy" {
  arn = "${local.policy_base_arn}-s3_sme_data_rw"
}

data "aws_iam_policy" "lambda_invoke" {
  arn = "${local.policy_base_arn_v2}-lambda_invoke"
}

module "DAE_1629_role" {
  source = "../../../modules/iam/roles/ec2_instance_role"

  name_prefix = local.name_prefix
  name        = "DAE-1629"

  common_tags = merge(
    local.common_tags,
    {
      project                  = "SLZ Ingestion",
      service                  = "Batch",
      plat_env_project_service = "${local.aggregated_tag}_SLZI_BTCH"
      ticket                   = "DAE-1629"
    }
  )

  policies_list = [
    module.logging_policy.policy.arn,
    module.kms_secrets_manager.secrets_services_ro_policy.arn,
    data.aws_iam_policy.s3_env_rw_policy.arn,
    data.aws_iam_policy.s3_sme_data_rw_policy.arn,
    "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly",
    data.aws_iam_policy.lambda_invoke.arn,
  ]
}

module "DAE_1629_instance" {
  source          = "../../../modules/ec2/ec2"
  name_prefix     = "${local.name_prefix}-DAE-1629"
  instances_count = 1
  # amzn2-ami-ecs-hvm-2.0.20200115-x86_64-ebs
  ami                  = "ami-0885b1f6bd170450c"
  instance_type        = "t3.large"
  use_public_ip        = false
  key_name             = "${local.name_prefix}-default"
  security_groups      = [module.main_sg_map.management_id, module.main_sg_map.batch_id]
  subnet_ids           = [module.main_private_subnets.subnet_ids[1]]
  iam_instance_profile = module.DAE_1629_role.profile.name
  root_volume_size     = 30
  root_volume_type     = "gp3"
  encrypted            = true
  kms_key_id           = data.aws_kms_alias.default_ebs.target_key_arn
  common_tags = merge(
    local.common_tags,
    {
      project                  = "Infrastructure",
      service                  = "EC2",
      plat_env_project_service = "${local.aggregated_tag}_INFRA_EC2"
      os_platform              = "linux"
      os_distribution          = "ubuntu"
      splunk                   = "true"
    }
  )
}
