Module to manage AWS Backup with Terraform.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guillaume Donval 700ba09618 Merge branch 'feature/module' of fxinnovation-public/terraform-module-aws-backup into master 7 months ago
examples test: adds example with external vault 7 months ago
.gitignore tech: initial files for the module 8 months ago
.pre-commit-config.yaml refactor: fixes style 8 months ago
Jenkinsfile test: adds Jenkinsfile 8 months ago
README.md fix: fixes variable type 7 months ago
main.tf feat: adds depends_on 7 months ago
outputs.tf fix: changes outputs without splat syntaw 7 months ago
variables.tf fix: fixes variable type 7 months ago

README.md

Terraform Module AWS Backup

Module to manage AWS Backup with Terraform.

Limitations

  • This module can only create one optional vault and/or one optional plan and/or one optional selection by tags and/or by ressources.

Inputs

Name Description Type Default Required
enabled Whether or not to enable this entire module or not. string "true" no
plan_create Whether or not to create a plan. string "true" no
plan_name Name of the plan. string "backup-plan" no
plan_rule_completion_window The amount of time AWS Backup attempts a backup before canceling the job and returning an error for the plan. string "" no
plan_rule_lifecycle_cold_storage_after Specifies the number of days after creation that a recovery point is moved to cold storage. string "" no
plan_rule_lifecycle_delete_after Specifies the number of days after creation that a recovery point is deleted. Must be 90 days greater than cold_storage_after. string "" no
plan_rule_name Name of the rule for the plan. string "backup-rule" no
plan_rule_recovery_point_tags Metadata that you can assign to help organize the resources that you create for the plan. map {} no
plan_rule_schedule A CRON expression specifying when to initiates a backup job for the plan. string "" no
plan_rule_start_window The amount of time in minutes before beginning a backup for the plan. string "" no
plan_tags Tags for the Backup plan. Will be merged with tags. map {} no
selection_by_ressources Whether or not to create a selection by resources. string "false" no
selection_by_tags Whether or not to create a selection by tags. string "false" no
selection_create Whether or not to create a selection. string "true" no
selection_iam_role_name Name of the IAM role that AWS Backup uses to authenticate when restoring and backing up the target resource. string "BackupRole" no
selection_plan_id The backup plan ID to be associated with the selection of resources. Must be specified if plan_create is false. string "" no
selection_resource_name Name of the selection by resource. string "selection-by-resource" no
selection_resources An array of strings that either contain Amazon Resource Names (ARNs) or match patterns of resources to assign to a backup plan. list [] no
selection_role_arn ARN of the IAM role that AWS Backup uses to authenticate when restoring and backing up the target resource. Must be specified if selection_role_create is false. string "" no
selection_role_create Whether or not to create a role for selection. string "true" no
selection_tag_key The key in a key-value pair of the selection by tags. string "Backup" no
selection_tag_name Name of the selection by tags. string "selection-by-tag" no
selection_tag_type An operation, such as ‘StringEquals’, that is applied to a key-value pair used to filter resources in a selection. string "STRINGEQUALS" no
selection_tag_value The value in a key-value pair of the selection by tags. string "1" no
tags Tags to be shared among all resources of this module. map {} no
vault_create Whether or not to create a vault for AWS Backup. string "true" no
vault_kms_key_alias_name Alias for the KMS key of the Backup vault. Will be merged with tags. string "" no
vault_kms_key_arn ARN of the KMS key to use for the vault for AWS Backup. Use only if vault_kms_key_create is ‘false’. string "" no
vault_kms_key_create Whether or not to create a KMS key for the vault for AWS Backup. string "true" no
vault_kms_key_name Name of the KMS key to use for the vault for AWS Backup. string "" no
vault_kms_tags Tags for the KMS key of the Backup vault. Will be merged with tags. map {} no
vault_name Name of the backup vault to use. string "default" no
vault_tags Tags for the Backup vault. Will be merged with tags. map {} no

Outputs

Name Description
plan_arns ARNs of the backup plans.
plan_iam_role_arn ARN of the role for the backup plans.
plan_iam_role_name Name of the role for the backup plans.
plan_iam_role_unique_id Stable and unique string identifying the role for the backup plans.
plan_versions Unique, randomly generated, Unicode, UTF-8 encoded strings that serves as the version ID of the backup plans.
selection_resources_ids Backup Selection identifiers (by ressources).
selection_tag_ids Backup Selection identifiers (by tags).
vault_arn ARN of the vault.
vault_id The name of the vault.
vault_kms_key_alias_arn ARN of the KMS key alias for the backup vault.
vault_kms_key_arn ARN of the KMS key for the backup vault.
vault_kms_key_id Globally unique identifier of the KMS key for the backup vault.
vault_recovery_points The number of recovery points that are stored in a backup vault.