terraform {
  backend "http" {
  }

  required_providers {
    ec = {
      source  = "elastic/ec"
      version = "0.3.0"
    }
  }
}

provider "ec" {
  apikey = var.ec_apikey
}

data "ec_stack" "stack" {
  version_regex = "7.15.2"
  region        = var.region
}

resource "ec_deployment" "elasticsearch_cluster" {
  name                   = var.cluster_name
  region                 = data.ec_stack.stack.region
  version                = data.ec_stack.stack.version_regex
  deployment_template_id = "gcp-storage-optimized"

  elasticsearch {
    autoscale = "false"

    topology {
      id            = "hot_content"
      size_resource = "memory"
      size          = "1g"
      zone_count    = 1
    }
  }

  kibana {
    topology {
      size_resource = "memory"
      size          = "1g"
      zone_count    = 1
    }
  }
}