variable "aws_region" {
  type = string
}

variable "aws_access_key" {
  type = string
}

variable "aws_secret_key" {
  type      = string
  sensitive = true
}

variable "ecs_execution_role_arn" {
  type = string
}

variable "datadog_api_key" {
  type      = string
  sensitive = true
}

variable "datadog_site" {
  type = string
}

variable "main_db_instance_class" {
  type = string
}

variable "main_db_performance_insights_enabled" {
  type    = bool
  default = false
}

variable "main_db_performance_insights_retention_period" {
  type    = string
  default = 0
}

variable "main_db_backup_retention_period" {
  type    = number
  default = 0
}

variable "main_db_snapshot" {
  type = string
}

variable "postgres_username" {
  type = string
}

variable "postgres_password" {
  type      = string
  sensitive = true
}

variable "postgres_database" {
  type = string
}

variable "redis_db" {
  type = string
}

variable "domain" {
  type = string
}

variable "from_email" {
	type = string
}

variable "reviews_cron_schedule" {
  type = string
}

variable "reservation_seeder_cron_schedule" {
  type = string
}

variable "stripe" {
  type = object({
    api_key        = string
    webhook_secret = string
  })
}

variable "google" {
  type = object({
    maps_api_key = string,
    action_center = object({
      partner_id = string
      service_account = object({
        client_email = string
        private_key  = string
      }),
      booking_server = object({
        username = string
        password = string
      }),
      feeds = object({
        sftp_key = string
        url      = string
        port     = number
        usernames = object({
          merchants    = string
          services     = string
          availability = string
        })
        upload_schedule = string
      })
    })
  })
}

variable "firebase" {
  type = string
}
