add logging settings to folder module (#2268)

This commit is contained in:
Ludovico Magnocavallo
2024-05-13 09:24:17 +02:00
committed by GitHub
parent af253c9702
commit 604920dec9
7 changed files with 181 additions and 131 deletions

View File

@@ -48,69 +48,6 @@ variable "firewall_policy" {
default = null
}
variable "logging_data_access" {
description = "Control activation of data access logs. Format is service => { log type => [exempted members]}. The special 'allServices' key denotes configuration for all services."
type = map(map(list(string)))
nullable = false
default = {}
validation {
condition = alltrue(flatten([
for k, v in var.logging_data_access : [
for kk, vv in v : contains(["DATA_READ", "DATA_WRITE", "ADMIN_READ"], kk)
]
]))
error_message = "Log type keys for each service can only be one of 'DATA_READ', 'DATA_WRITE', 'ADMIN_READ'."
}
}
variable "logging_exclusions" {
description = "Logging exclusions for this organization in the form {NAME -> FILTER}."
type = map(string)
default = {}
nullable = false
}
variable "logging_settings" {
description = "Default settings for logging resources."
type = object({
# TODO: add support for CMEK
disable_default_sink = optional(bool)
storage_location = optional(string)
})
default = null
}
variable "logging_sinks" {
description = "Logging sinks to create for the organization."
type = map(object({
bq_partitioned_table = optional(bool, false)
description = optional(string)
destination = string
disabled = optional(bool, false)
exclusions = optional(map(string), {})
filter = optional(string)
iam = optional(bool, true)
include_children = optional(bool, true)
type = string
}))
default = {}
nullable = false
validation {
condition = alltrue([
for k, v in var.logging_sinks :
contains(["bigquery", "logging", "project", "pubsub", "storage"], v.type)
])
error_message = "Type must be one of 'bigquery', 'logging', 'project', 'pubsub', 'storage'."
}
validation {
condition = alltrue([
for k, v in var.logging_sinks :
v.bq_partitioned_table != true || v.type == "bigquery"
])
error_message = "Can only set bq_partitioned_table when type is `bigquery`."
}
}
variable "org_policies" {
description = "Organization policies applied to this organization keyed by policy name."
type = map(object({