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来实现。