variable "documents" { description = "Map of SSM automation documents to create" type = map(object({ name = string document_type = optional(string, "Automation") document_format = optional(string, "YAML") content = string target_type = optional(string, null) version_name = optional(string, null) permissions = optional(object({ account_ids = list(string) }), null) })) default = {} } variable "maintenance_windows" { description = "Map of SSM maintenance windows" type = map(object({ name = string description = optional(string, "") schedule = string duration = optional(number, 2) cutoff = optional(number, 1) allow_unassociated_targets = optional(bool, false) schedule_timezone = optional(string, "UTC") })) default = {} } variable "maintenance_window_targets" { description = "Map of maintenance window targets" type = map(object({ window_key = string resource_type = optional(string, "INSTANCE") target_key = optional(string, "tag:Patch") target_values = optional(list(string), ["true"]) owner_information = optional(string, null) })) default = {} } variable "maintenance_window_tasks" { description = "Map of maintenance window tasks" type = map(object({ window_key = string target_key = string task_type = optional(string, "RUN_COMMAND") task_arn = string service_role_arn = optional(string, null) priority = optional(number, 1) max_concurrency = optional(string, "1") max_errors = optional(string, "1") run_command_parameters = optional(object({ document_version = optional(string, "$LATEST") output_s3_bucket = optional(string, null) parameters = optional(map(list(string)), {}) }), null) })) default = {} } variable "patch_baselines" { description = "Map of patch baselines to create" type = map(object({ name = string description = optional(string, "") operating_system = optional(string, "AMAZON_LINUX_2") approved_patches = optional(list(string), []) rejected_patches = optional(list(string), []) approval_rules = optional(list(object({ approve_after_days = optional(number, 7) compliance_level = optional(string, "CRITICAL") patch_filter_groups = list(map(list(string))) })), []) })) default = {} } variable "tags" { description = "Resource tags to apply to all resources" type = map(string) default = {} }