yandex_backup_policy (Resource)
- Defined types
- Example usage
- Schema
- Required
- Optional
- Read-Only
- Nested Schema for reattempts
- Nested Schema for retention
- Nested Schema for retention.rules
- Nested Schema for scheduling
- Nested Schema for scheduling.backup_sets
- Nested Schema for scheduling.backup_sets.execute_by_time
- Nested Schema for scheduling.execute_by_time
- Nested Schema for vm_snapshot_reattempts
- Nested Schema for file_filters
- Nested Schema for timeouts
- Import
Allows management of Yandex Cloud Backup Policy.
Важно
Cloud Backup Provider must be activated in order to manipulate with policies. Active it either by UI Console or by yc command.
Defined types
interval_type
A string type, that accepts values in the format of: number + time type, where time type might be:
s— secondsm— minutesh— hoursd— daysw— weekdaysM— months
Example of interval value: 5m, 10d, 2M, 5w
day_type
A string type, that accepts the following values: ALWAYS_INCREMENTAL, ALWAYS_FULL, WEEKLY_FULL_DAILY_INCREMENTAL, WEEKLY_INCREMENTAL.
backup_set_type
TYPE_AUTO, TYPE_FULL, TYPE_INCREMENTAL, TYPE_DIFFERENTIAL.
Example usage
//
// Create a new basic Cloud Backup Policy
//
resource "yandex_backup_policy" "basic_policy" {
name = "basic policy"
scheduling {
enabled = false
backup_sets {
execute_by_interval = 86400
}
}
retention {
after_backup = false
}
reattempts {}
vm_snapshot_reattempts {}
}
//
// Create a new full Cloud Backup Policy
//
resource "yandex_backup_policy" "my_policy" {
archive_name = "[Machine Name]-[Plan ID]-[Unique ID]a"
cbt = "USE_IF_ENABLED"
compression = "NORMAL"
fast_backup_enabled = true
format = "AUTO"
multi_volume_snapshotting_enabled = true
name = "example_name"
performance_window_enabled = true
preserve_file_security_settings = true
quiesce_snapshotting_enabled = true
silent_mode_enabled = true
splitting_bytes = "9223372036854775807"
vss_provider = "NATIVE"
reattempts {
enabled = true
interval = "1m"
max_attempts = 10
}
retention {
after_backup = false
rules {
max_age = "365d"
repeat_period = []
}
}
scheduling {
enabled = false
max_parallel_backups = 0
random_max_delay = "30m"
scheme = "ALWAYS_INCREMENTAL"
weekly_backup_day = "MONDAY"
backup_sets {
execute_by_time {
include_last_day_of_month = true
monthdays = []
months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
repeat_at = ["04:10"]
repeat_every = "30m"
type = "MONTHLY"
weekdays = []
}
}
}
vm_snapshot_reattempts {
enabled = true
interval = "1m"
max_attempts = 10
}
}
Schema
Required
name(String) The resource name.reattempts(Block Set, Min: 1, Max: 1) Amount of reattempts that should be performed while trying to make backup at the host. (see below for nested schema)retention(Block Set, Min: 1, Max: 1) Retention policy for backups. Allows to setup backups lifecycle. (see below for nested schema)scheduling(Block Set, Min: 1, Max: 1) Schedule settings for creating backups on the host. (see below for nested schema)vm_snapshot_reattempts(Block Set, Min: 1, Max: 1) Amount of reattempts that should be performed while trying to make snapshot. (see below for nested schema)
Optional
archive_name(String) The name of generated archives. Default[Machine Name]-[Plan ID]-[Unique ID]a.cbt(String) Configuration of Changed Block Tracking. Available values are:USE_IF_ENABLED,ENABLED_AND_USE,DO_NOT_USE. DefaultDO_NOT_USE.compression(String) Archive compression level. Affects CPU. Available values:NORMAL,HIGH,MAX,OFF. Default:NORMAL.fast_backup_enabled(Boolean) If true, determines whether a file has changed by the file size and timestamp. Otherwise, the entire file contents are compared to those stored in the backup.file_filters(Block List, Max: 1) File filters to specify masks of files to backup or to exclude of backuping. (see below for nested schema)folder_id(String) The folder identifier that resource belongs to. If it is not provided, the default providerfolder-idis used.format(String) Format of the backup. It's strongly recommend to leave this option empty orAUTO. Available values:AUTO,VERSION_11,VERSION_12.lvm_snapshotting_enabled(Boolean) LVM will be used to create the volume snapshot. If LVM fails to create a snapshot (for example, because there is not enough free space), the software will create the snapshot itself.multi_volume_snapshotting_enabled(Boolean) If true, snapshots of multiple volumes will be taken simultaneously. Defaulttrue.performance_window_enabled(Boolean) Time windows for performance limitations of backup. Defaultfalse.preserve_file_security_settings(Boolean, Deprecated) If true, a quiesced snapshot of the virtual machine will be taken. Defaulttrue.quiesce_snapshotting_enabled(Boolean, Deprecated) If true, a quiesced snapshot of the virtual machine will be taken. Defaulttrue.sector_by_sector(Boolean) A sector-by-sector backup of a disk or volume creates a backup copy of all sectors of the disk or volume, including those that do not contain data. Therefore, the size of such a backup copy will be equal to the size of the original disk or volume.silent_mode_enabled(Boolean) If true, a user interaction will be avoided when possible. Defaulttrue.splitting_bytes(String) Determines the size to split backups. It's better to leave this option unchanged. Default9223372036854775807.timeouts(Block, Optional) (see below for nested schema)validation_enabled(Boolean) Validation is a time-consuming process, even with incremental or differential backups of small amounts of data. This is because not only the data physically contained in the backup copy is verified, but all data restored when it is selected. This option requires access to previously created backup copies.vss_provider(String) Settings for the volume shadow copy service. Available values are:NATIVE,TARGET_SYSTEM_DEFINED. DefaultNATIVE.
Read-Only
created_at(String) The creation timestamp of the resource.enabled(Boolean) If this field is true, it means that the policy is enabled.id(String) The ID of this resource.updated_at(String) The update timestamp of the resource.
Nested Schema for reattempts
Optional:
enabled(Boolean) Enable flag. Defaulttrue.interval(String) Retry interval. Seeinterval_typefor available values. Default:5m.max_attempts(Number) Maximum number of attempts before throwing an error. Default5.
Nested Schema for retention
Optional:
after_backup(Boolean) Defines whether retention rule applies after creating backup or before.rules(Block Set) A list of retention rules. (see below for nested schema)
Nested Schema for retention.rules
Optional:
max_age(String) Deletes backups that older thanmax_age. Exactly one ofmax_countormax_ageshould be set.max_count(Number) Deletes backups if it's count exceedsmax_count. Exactly one ofmax_countormax_ageshould be set.repeat_period(List of String) Possible types:REPEATE_PERIOD_UNSPECIFIED,HOURLY,DAILY,WEEKLY,MONTHLY. Specifies repeat period of the backupset.
Nested Schema for scheduling
Optional:
backup_sets(Block Set) A list of schedules with backup sets that compose the whole scheme. (see below for nested schema)enabled(Boolean) Enables or disables scheduling. Defaulttrue.execute_by_interval(Number, Deprecated) Perform backup by interval, since last backup of the host. Maximum value is: 9999 days. Seeinterval_typefor available values. Exactly on of options should be set:execute_by_intervalorexecute_by_time.execute_by_time(Block Set, Deprecated) Perform backup periodically at specific time. Exactly on of options should be set:execute_by_intervalorexecute_by_time. (see below for nested schema)max_parallel_backups(Number) Maximum number of backup processes allowed to run in parallel. 0 for unlimited. Default0.random_max_delay(String) Configuration of the random delay between the execution of parallel tasks. Seeinterval_typefor available values. Default30m.scheme(String) Scheme of the backups. Available values are:ALWAYS_INCREMENTAL,ALWAYS_FULL,WEEKLY_FULL_DAILY_INCREMENTAL,WEEKLY_INCREMENTAL. DefaultALWAYS_INCREMENTAL.weekly_backup_day(String) A day of week to start weekly backups. Seeday_typefor available values. DefaultMONDAY.
Nested Schema for scheduling.backup_sets
Optional:
execute_by_interval(Number) Perform backup by interval, since last backup of the host. Maximum value is: 9999 days. Seeinterval_typefor available values. Exactly on of options should be set:execute_by_intervalorexecute_by_time.execute_by_time(Block Set) Perform backup periodically at specific time. Exactly on of options should be set:execute_by_intervalorexecute_by_time. (see below for nested schema)type(String) BackupSet type. Seebackup_set_typefor available values. DefaultTYPE_AUTO.
Nested Schema for scheduling.backup_sets.execute_by_time
Required:
type(String) Type of the scheduling. Available values are:HOURLY,DAILY,WEEKLY,MONTHLY.
Optional:
include_last_day_of_month(Boolean) If true, schedule will be applied on the last day of month. Seeday_typefor available values. Defaultfalse.monthdays(List of Number) List of days when schedule applies. Used inMONTHLYtype.months(List of Number) Set of values. Allowed values form 1 to 12.repeat_at(List of String) List of time in formatHH:MM(24-hours format), when the schedule applies.repeat_every(String) Frequency of backup repetition. Seeinterval_typefor available values.run_later(Boolean) If true and if the machine is off, launch missed tasks on boot up. Defaultfalse.weekdays(List of String) List of weekdays when the backup will be applied. Used inWEEKLYtype.
Nested Schema for scheduling.execute_by_time
Required:
type(String) Type of the scheduling. Available values are:HOURLY,DAILY,WEEKLY,MONTHLY.
Optional:
include_last_day_of_month(Boolean) If true, schedule will be applied on the last day of month. Seeday_typefor available values. Defaultfalse.monthdays(List of Number) List of days when schedule applies. Used inMONTHLYtype.months(List of Number) Set of values. Allowed values form 1 to 12.repeat_at(List of String) List of time in formatHH:MM(24-hours format), when the schedule applies.repeat_every(String) Frequency of backup repetition. Seeinterval_typefor available values.run_later(Boolean) If true and if the machine is off, launch missed tasks on boot up. Defaultfalse.weekdays(List of String) List of weekdays when the backup will be applied. Used inWEEKLYtype.
Nested Schema for vm_snapshot_reattempts
Optional:
enabled(Boolean) Enable flag. Defaulttrue.interval(String) Retry interval. Seeinterval_typefor available values. Default:5m.max_attempts(Number) Maximum number of attempts before throwing an error. Default5.
Nested Schema for file_filters
Optional:
exclusion_masks(List of String) Do not backup files that match the following criteria.inclusion_masks(List of String) Backup only files that match the following criteria.
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.read(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
The resource can be imported by using their resource ID. For getting the resource ID you can use Yandex Cloud Web Console
# terraform import yandex_backup_policy.<resource Name> <Resource Id>
terraform import yandex_backup_policy.my_backup_policy ...