/terraform-aws-backup

Deploy aws backup with terraform

Primary LanguageHCL

Requirements

Name Version
terraform >= 1.3
aws >= 2.0

Providers

Name Version
aws 4.37.0

Modules

No modules.

Resources

Name Type
aws_backup_plan.this resource
aws_backup_selection.this resource
aws_backup_vault.this resource
aws_backup_vault_lock_configuration.this resource
aws_backup_vault_policy.this resource
aws_iam_role.this resource
aws_iam_role_policy_attachment.this resource
aws_backup_vault.this data source
aws_iam_policy_document.assume_role data source
aws_iam_role.this data source
aws_partition.current data source

Inputs

Name Description Type Default Required
backup_resources An array of strings that either contain Amazon Resource Names (ARNs) or match patterns of resources to assign to a backup plan list(string) [] no
iam_role_enabled Should we create a new Iam Role and Policy Attachment bool true no
iam_role_name Override target IAM Role Name string null no
kms_key_arn The server-side encryption key that is used to protect your backups string null no
lock Settings of aws vault lock
object({
changeable_for_days = optional(number)
max_retention_days = optional(number)
min_retention_days = optional(number)
})
null no
lock_enabled Should we lock backup vault? bool false no
not_resources An array of strings that either contain Amazon Resource Names (ARNs) or match patterns of resources to exclude from a backup plan list(string) [] no
permissions_boundary The permissions boundary to set on the role string null no
plan_enabled Should we create a new Plan bool true no
plan_name Backup Plan Name string "" no
rules An array of rule maps used to define schedules in a backup plan
list(
object(
{
name = optional(string)
schedule = optional(string)
start_window = optional(string)
completion_window = optional(string)
recovery_point_tags = optional(map(string))
enable_continuous_backup = optional(string)
lifecycle = optional(object(
{
cold_storage_after = optional(number)
delete_after = optional(number)
}
))
copy_action = optional(object(
{
destination_vault_arn = optional(string)
lifecycle = optional(object(
{
cold_storage_after = optional(number)
delete_after = optional(number)
}
))
}
))
}
)
)
[] no
selection_name Backup Resource assignment Name string "" no
selection_tags An array of tag condition objects used to filter resources based on tags for assigning to a backup plan
list(object({
type = string
key = string
value = string
}))
[] no
vault_enabled Should we create a new Vault bool true no
vault_name Vault Name string n/a yes
vault_policy Vault policy string "" no

Outputs

Name Description
arn n/a