variable "project" {
  type        = string
  description = "Google Cloud project that owns the bucket and the loader service account."
}

variable "source_name" {
  type        = string
  description = "Ingestion source name, used to label and name the service account."
}

variable "bucket" {
  type        = string
  description = "GCS bucket holding transient Parquet snapshots and durable manifests/logs."
}

variable "location" {
  type        = string
  description = "Bucket location; must match the BigQuery dataset location for bq extract."
}

variable "snapshot_prefix" {
  type        = string
  description = "Object prefix where bq extract lands Parquet snapshots."
}

variable "manifest_prefix" {
  type        = string
  description = "Object prefix for run manifests."
}

variable "log_prefix" {
  type        = string
  description = "Object prefix for runtime JSONL logs."
}

variable "snapshot_expire_days" {
  type        = number
  description = "Lifecycle expiration for snapshot objects (short - GCS is transient, raw Cloud Lake is durable)."
}

variable "metadata_expire_days" {
  type        = number
  description = "Lifecycle expiration for manifests and logs (long - provenance/audit)."
}
