Enhance Azure Storage Account module with additional variables and blob data protection features
This commit is contained in:
94
variables.tf
94
variables.tf
@@ -44,6 +44,100 @@ variable "public_network_access_enabled" {
|
||||
default = true
|
||||
}
|
||||
|
||||
variable "enable_blob_soft_delete" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "blob_soft_delete_retention_days" {
|
||||
type = number
|
||||
default = null
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_blob_soft_delete == false ||
|
||||
var.blob_soft_delete_retention_days == null ||
|
||||
(var.blob_soft_delete_retention_days >= 1 && var.blob_soft_delete_retention_days <= 365)
|
||||
)
|
||||
error_message = "blob_soft_delete_retention_days must be between 1 and 365."
|
||||
}
|
||||
}
|
||||
|
||||
variable "enable_container_soft_delete" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "container_soft_delete_retention_days" {
|
||||
type = number
|
||||
default = null
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_container_soft_delete == false ||
|
||||
var.container_soft_delete_retention_days == null ||
|
||||
(var.container_soft_delete_retention_days >= 1 && var.container_soft_delete_retention_days <= 365)
|
||||
)
|
||||
error_message = "container_soft_delete_retention_days must be between 1 and 365."
|
||||
}
|
||||
}
|
||||
|
||||
variable "enable_blob_versioning" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "enable_blob_change_feed" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "enable_point_in_time_restore_for_containers" {
|
||||
type = bool
|
||||
default = false
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_point_in_time_restore_for_containers == false ||
|
||||
(
|
||||
var.enable_blob_soft_delete &&
|
||||
var.enable_blob_versioning &&
|
||||
var.enable_blob_change_feed
|
||||
)
|
||||
)
|
||||
error_message = "enable_point_in_time_restore_for_containers requires enable_blob_soft_delete, enable_blob_versioning, and enable_blob_change_feed to be true."
|
||||
}
|
||||
}
|
||||
|
||||
variable "point_in_time_restore_days" {
|
||||
type = number
|
||||
default = null
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_point_in_time_restore_for_containers == false ||
|
||||
var.point_in_time_restore_days != null
|
||||
)
|
||||
error_message = "point_in_time_restore_days must be set when enable_point_in_time_restore_for_containers is true."
|
||||
}
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_point_in_time_restore_for_containers == false ||
|
||||
(var.point_in_time_restore_days >= 1 && var.point_in_time_restore_days <= 365)
|
||||
)
|
||||
error_message = "point_in_time_restore_days must be between 1 and 365."
|
||||
}
|
||||
|
||||
validation {
|
||||
condition = (
|
||||
var.enable_point_in_time_restore_for_containers == false ||
|
||||
var.point_in_time_restore_days < coalesce(var.blob_soft_delete_retention_days, 7)
|
||||
)
|
||||
error_message = "point_in_time_restore_days must be less than blob_soft_delete_retention_days."
|
||||
}
|
||||
}
|
||||
|
||||
variable "tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
|
||||
Reference in New Issue
Block a user