Terraform Azurerm azurerm_recovery_services_protected_vm “设置即时恢复快照的数量”
Terraform Azurerm azurerm_recovery_services_protected_vm “Set number of instant recovery snapshot(s)”
我已经使用 Terraform 成功创建了每日和每周备份策略,并且都运行良好。然而,Azure 门户在策略 blade 的 "Instant Restore" 下显示红色标记,表示 "Retain instant recovery snapshot(s) for" 并且该值显示为 2 天。我需要将此值更改为 5;但是,我看不到在 Terraform 中更改它的选项。我想知道我是否应该使用 "azurerm_snapshot" 资源类型来更改它,或者 TF 中是否有可用的解决方法。
resource "azurerm_recovery_services_protection_policy_vm" "backup_policy_weekly" {
name = "${var.RG4VM}-weekly-bkp-policy"
resource_group_name = "${var.RG4VM}"
recovery_vault_name = "${azurerm_recovery_services_vault.backup_vault.name}"
depends_on = ["azurerm_recovery_services_vault.backup_vault"]
timezone = "UTC"
backup {
frequency = "Weekly"
time = "18:30"
weekdays = ["Friday"]
}
retention_weekly {
count = "2"
weekdays = ["Friday"]
}
retention_monthly {
count = "1"
weekdays = ["Friday"]
weeks = ["Last"]
}
}
预期:快照设置为 5,因为它是最小值
实际:2
感谢you/Asghar
对于您的问题,我只能说 属性 不受 Terraform 支持。您可以在 Azure REST API for Recovery Policy 中看到它作为 属性 instantRpRetentionRangeInDays
并像这样使用请求正文:
{
"properties": {
"backupManagementType": "AzureIaasVM",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Friday"
],
"scheduleRunTimes": [
"2018-07-30T18:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Friday"
],
"retentionTimes": [
"2018-07-30T18:30:00Z"
],
"retentionDuration": {
"count": 5,
"durationType": "Weeks"
}
}
},
"instantRpRetentionRangeInDays": 5,
"timeZone": "UTC",
"protectedItemsCount": 0
}
}
或者您也可以使用 Azure Template,它也会显示在其中。但是您在 Terraform 中找不到 属性。所以建议大家可以使用Azure RESTAPI或者Template来实现。
我已经使用 Terraform 成功创建了每日和每周备份策略,并且都运行良好。然而,Azure 门户在策略 blade 的 "Instant Restore" 下显示红色标记,表示 "Retain instant recovery snapshot(s) for" 并且该值显示为 2 天。我需要将此值更改为 5;但是,我看不到在 Terraform 中更改它的选项。我想知道我是否应该使用 "azurerm_snapshot" 资源类型来更改它,或者 TF 中是否有可用的解决方法。
resource "azurerm_recovery_services_protection_policy_vm" "backup_policy_weekly" {
name = "${var.RG4VM}-weekly-bkp-policy"
resource_group_name = "${var.RG4VM}"
recovery_vault_name = "${azurerm_recovery_services_vault.backup_vault.name}"
depends_on = ["azurerm_recovery_services_vault.backup_vault"]
timezone = "UTC"
backup {
frequency = "Weekly"
time = "18:30"
weekdays = ["Friday"]
}
retention_weekly {
count = "2"
weekdays = ["Friday"]
}
retention_monthly {
count = "1"
weekdays = ["Friday"]
weeks = ["Last"]
}
}
预期:快照设置为 5,因为它是最小值 实际:2
感谢you/Asghar
对于您的问题,我只能说 属性 不受 Terraform 支持。您可以在 Azure REST API for Recovery Policy 中看到它作为 属性 instantRpRetentionRangeInDays
并像这样使用请求正文:
{
"properties": {
"backupManagementType": "AzureIaasVM",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Friday"
],
"scheduleRunTimes": [
"2018-07-30T18:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Friday"
],
"retentionTimes": [
"2018-07-30T18:30:00Z"
],
"retentionDuration": {
"count": 5,
"durationType": "Weeks"
}
}
},
"instantRpRetentionRangeInDays": 5,
"timeZone": "UTC",
"protectedItemsCount": 0
}
}
或者您也可以使用 Azure Template,它也会显示在其中。但是您在 Terraform 中找不到 属性。所以建议大家可以使用Azure RESTAPI或者Template来实现。