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

  default_tags {
    tags = module.default_tags.tags
  }
}

module "default_tags" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = "qa"
  application_family = "gda-test"
  service_name       = "ows-redis-test"
  team_name          = "devops"
}

provider "aws" {
  region  = "us-east-1"
  alias   = "networking"
  profile = "networking"

  default_tags {
    tags = module.default_tags_networking.tags
  }
}

module "default_tags_networking" {
  source             = "git@github.com:theorchard/terraform-default-tags.git//?ref=2.0.0"
  environment        = "networking"
  application_family = "gda-test"
  service_name       = "ows-redis-test"
  team_name          = "devops"
}

module "vpc_info" {
  source = "git@github.com:theorchard/terraform-vpc-info.git?ref=1.4.0"

  environment = "qa"
}

module "qa_redis" {
  source = "../../"

  providers = {
    aws.dns = aws.networking
  }

  environment             = "qa"
  service_name            = "ows-redis-test"
  cache_engine            = "redis"
  cache_subnet_group_name = "prod-vpc-orchard-subnet"
  application_family      = "gda-test"
  vpc_id                  = module.vpc_info.vpc_id
  additional_tags = {
    "user_supplied_tag_1" = "some_project",
    "user_supplied_tag_2" = "orchard"
  }
}

module "qa_memcached_with_additional_groups" {
  source = "../../"

  providers = {
    aws.dns = aws.networking
  }

  environment                          = "qa"
  service_name                         = "ows-mc-test"
  cache_engine                         = "memcached"
  cache_subnet_group_name              = "prod-vpc-orchard-subnet"
  additional_cidr_blocks_enabled       = true
  additional_source_security_group_ids = ["sg-21f1ed44"]
  application_family                   = "gda-test"
  vpc_id                               = module.vpc_info.vpc_id
}

module "qa_redis_with_additional_groups" {
  source = "../../"

  providers = {
    aws.dns = aws.networking
  }

  environment                          = "qa"
  service_name                         = "ows-redis-test-with-groups"
  cache_engine                         = "redis"
  cache_subnet_group_name              = "prod-vpc-orchard-subnet"
  additional_cidr_blocks_enabled       = true
  additional_source_security_group_ids = ["sg-21f1ed44", "sg-06e3620cbbbb39797"]
  application_family                   = "gda-test"
  vpc_id                               = module.vpc_info.vpc_id
}

output "sg_qa_redis" {
  value = module.qa_redis.cache_security_group_id
}

output "sg_qa_memcached_with_additional_groups" {
  value = module.qa_memcached_with_additional_groups.cache_security_group_id
}

output "sg_qa_redis_with_additional_groups" {
  value = module.qa_redis_with_additional_groups.cache_security_group_id
}
