1
Files
tom.chivert 7bf97cc696
Deploy Configuration / terraform (git.rznet.fr) (push) Successful in 12s
Deploy Configuration / terraform (mirror.rznet.fr) (push) Successful in 11s
enable request_coalescing on mirror
2026-01-30 12:04:21 +01:00

168 lines
3.9 KiB
HCL

variable "name" {
type = string
description = "The name of the pullzone"
validation {
condition = length(var.name) > 0
error_message = "The pullzone name cannot be empty."
}
}
variable "domain" {
type = string
description = "The domain name for the pullzone"
validation {
condition = length(var.domain) > 0
error_message = "The domain cannot be empty."
}
}
variable "origin" {
type = string
description = "The origin URL for the pullzone"
validation {
condition = can(regex("^https?://", var.origin))
error_message = "The origin must be a valid HTTP(S) URL."
}
}
variable "origin_host" {
type = string
description = "The host header to send to the origin"
validation {
condition = length(var.origin_host) > 0
error_message = "The origin host cannot be empty."
}
}
variable "origin_type" {
type = string
default = "OriginUrl"
description = "The type of origin (OriginUrl, StorageZone, etc.)"
validation {
condition = contains(["OriginUrl", "StorageZone"], var.origin_type)
error_message = "The origin_type must be either 'OriginUrl' or 'StorageZone'."
}
}
variable "origin_verify_ssl" {
type = bool
default = true
description = "Whether to verify SSL certificates for the origin"
}
variable "block_post_requests" {
type = bool
default = false
description = "Whether to block POST requests"
}
variable "request_coalescing" {
type = bool
default = false
description = "Whether to enable request coalescing"
}
variable "websockets_enabled" {
type = bool
default = true
description = "Whether WebSockets are enabled"
}
variable "routing_tier" {
type = string
default = "Standard"
description = "The routing tier (Standard or Volume)"
validation {
condition = contains(["Standard", "Volume"], var.routing_tier)
error_message = "The routing_tier must be either 'Standard' or 'Volume'."
}
}
variable "routing_zones" {
type = list(string)
default = ["EU"]
description = "List of routing zones (AF, ASIA, EU, SA, US)"
}
variable "routing_blocked_countries" {
type = list(string)
default = []
description = "List of countries to block"
}
variable "routing_filters" {
type = list(string)
default = ["all"]
description = "List of routing filters (all, eu, scripting)"
}
variable "cache_chunked" {
type = bool
default = false
description = "Whether to enable chunked cache"
}
variable "cache_stale" {
type = list(string)
default = ["offline", "updating"]
description = "List of cache stale options"
}
variable "cache_vary" {
type = list(string)
default = ["querystring"]
description = "List of cache vary options (avif, cookie, country, hostname, mobile, querystring, state, webp)"
}
variable "errorpage_whitelabel" {
type = bool
default = true
description = "Whether to use whitelabel error pages"
}
variable "limit_bandwidth" {
type = number
default = 1000000000000
description = "Bandwidth limit in bytes"
validation {
condition = var.limit_bandwidth > 0
error_message = "The bandwidth limit must be a positive number."
}
}
variable "limit_download_speed" {
type = number
default = 12500
description = "Download speed limit in bytes per second"
validation {
condition = var.limit_download_speed > 0
error_message = "The download speed limit must be a positive number."
}
}
variable "certificate" {
type = string
default = ""
description = "Path to the certificate file"
}
variable "certificate_key" {
type = string
default = ""
description = "Path to the certificate key file"
}
variable "certificate_vault" {
type = bool
default = false
description = "Whether to use Vault for certificate management"
}