deploy/test-environments/elk-stack/main.tf (61 lines of code) (raw):

locals { common_tags = { division = "${var.division}" org = "${var.org}" team = "${var.team}" project = "${var.project}" owner = "${var.owner}" deployment = "${var.deployment_name}" } ec_url = "https://cloud.elastic.co" ec_headers = { Content-type = "application/json" Authorization = "ApiKey ${var.ec_api_key}" } } provider "ec" { apikey = var.ec_api_key } provider "restapi" { alias = "ec" uri = local.ec_url write_returns_object = true headers = local.ec_headers } resource "random_string" "suffix" { length = 3 special = false } # Elastic Cloud (EC) deployment module "ec_deployment" { count = var.serverless_mode ? 0 : 1 source = "../modules/ec" ec_api_key = var.ec_api_key region = var.ess_region stack_version = var.stack_version tags = local.common_tags deployment_template = var.deployment_template deployment_name_prefix = "${var.deployment_name}-${random_string.suffix.result}" elasticsearch_autoscale = true elasticsearch_size = var.elasticsearch_size elasticsearch_zone_count = var.elasticsearch_zone_count docker_image_tag_override = var.pin_version != "" ? { "elasticsearch" = "${var.pin_version}", "kibana" = "${var.pin_version}", "apm" = "${var.pin_version}" } : { "elasticsearch" = "", "kibana" = "", "apm" = "" } } module "ec_project" { providers = { restapi.elastic_cloud = restapi.ec } count = var.serverless_mode ? 1 : 0 source = "../modules/serverless" ec_apikey = var.ec_api_key ec_url = local.ec_url project_name = "${var.deployment_name}-${random_string.suffix.result}" region_id = "aws-us-east-1" # TODO: replace with var.ess_region when more regions are supported }