118 lines
2.8 KiB
HCL
118 lines
2.8 KiB
HCL
variable "project_id" {
|
|
description = "STACKIT project ID"
|
|
type = string
|
|
}
|
|
|
|
variable "name" {
|
|
description = "The name of the Observability instance."
|
|
type = string
|
|
}
|
|
|
|
variable "plan_name" {
|
|
description = "Specifies the Observability plan."
|
|
type = string
|
|
}
|
|
|
|
variable "acl" {
|
|
description = "Access control list (CIDR blocks) permitted to access this instance."
|
|
type = list(string)
|
|
default = null
|
|
}
|
|
|
|
variable "metrics_retention_days" {
|
|
description = "How many days raw metrics are kept."
|
|
type = number
|
|
default = null
|
|
}
|
|
|
|
variable "metrics_retention_days_5m_downsampling" {
|
|
description = "How many days 5m-downsampled metrics are kept."
|
|
type = number
|
|
default = null
|
|
}
|
|
|
|
variable "metrics_retention_days_1h_downsampling" {
|
|
description = "How many days 1h-downsampled metrics are kept."
|
|
type = number
|
|
default = null
|
|
}
|
|
|
|
variable "alert_config" {
|
|
description = "Complex Alertmanager configuration."
|
|
type = any
|
|
default = null
|
|
}
|
|
|
|
variable "parameters" {
|
|
description = "Additional key/value parameters for the instance."
|
|
type = map(string)
|
|
default = null
|
|
}
|
|
|
|
variable "create_credentials" {
|
|
description = "Whether to create credentials for this instance."
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "credentials_count" {
|
|
description = "How many credentials to create when enabled."
|
|
type = number
|
|
default = 1
|
|
}
|
|
|
|
variable "alertgroups" {
|
|
description = "Map of alert-groups to create."
|
|
type = map(object({
|
|
name = string
|
|
interval = optional(string)
|
|
rules = list(object({
|
|
alert = string
|
|
expression = string
|
|
for = optional(string)
|
|
labels = optional(map(string))
|
|
annotations = optional(map(string))
|
|
}))
|
|
}))
|
|
default = {}
|
|
}
|
|
|
|
variable "logalertgroups" {
|
|
description = "Map of log-alert-groups to create."
|
|
type = map(object({
|
|
name = string
|
|
interval = optional(string)
|
|
rules = list(object({
|
|
alert = string
|
|
expression = string
|
|
for = optional(string)
|
|
labels = optional(map(string))
|
|
annotations = optional(map(string))
|
|
}))
|
|
}))
|
|
default = {}
|
|
}
|
|
|
|
variable "scrapeconfigs" {
|
|
description = "Map of scrape-configs to create."
|
|
type = map(object({
|
|
name = string
|
|
metrics_path = string
|
|
targets = list(object({
|
|
urls = list(string)
|
|
labels = optional(map(string))
|
|
}))
|
|
basic_auth = optional(object({
|
|
username = string
|
|
password = string
|
|
}))
|
|
saml2 = optional(object({
|
|
enable_url_parameters = optional(bool)
|
|
}))
|
|
sample_limit = optional(number)
|
|
scheme = optional(string)
|
|
scrape_interval = optional(string)
|
|
scrape_timeout = optional(string)
|
|
}))
|
|
default = {}
|
|
}
|