variable "aws_region" {
  type        = string
  description = "AWS region that stores the Helix SSM parameter."
  default     = "ap-southeast-1"
}

variable "project" {
  type        = string
  description = "Helix project name used in AWS SSM parameter paths and tags."
  default     = "helix"
}

variable "environment" {
  type        = string
  description = "Helix environment name used in AWS SSM parameter paths and tags."
  default     = "prod"
}

variable "gcp_project_id" {
  type        = string
  description = "Primary GCP project containing the DAX service account and custom role."
  default     = "gcp-digital-bi"
}

variable "managed_dataset_project_ids" {
  type        = set(string)
  description = "Exact GCP projects whose active catalog datasets may enter DAX controller scope."
  default = [
    "gcp-digital-bi",
    "gcp-digital-bi-dev",
  ]
}

variable "dataset_inventory_path" {
  type        = string
  description = "Path, relative to this Terraform root, to the DAX dataset seed JSON."
  default     = "../../deploy/data-access/datasets/gcp-digital-bi-dbt.json"
}

variable "service_account_id" {
  type        = string
  description = "GCP service account id for the DAX BigQuery reconciler."
  default     = "helix-dax-bigquery"
}

variable "service_account_display_name" {
  type        = string
  description = "Display name for the DAX BigQuery reconciler service account."
  default     = "Helix DAX BigQuery Reconciler"
}

variable "custom_role_id" {
  type        = string
  description = "GCP custom role id for dataset ACL read/update permissions."
  default     = "HelixDaxDatasetIamReconciler"
}

variable "service_account_json_ssm_parameter_name" {
  type        = string
  description = "Optional explicit SSM SecureString parameter name for the generated service account JSON."
  default     = ""
}
