我在Terraform中使用PremiumV2_LRS托管磁盘,沿着最新版本(3.48.0)上的azurerm提供程序。
这些类型的磁盘只支持增量快照。我可以使用az
命令行工具创建快照,没有任何问题(我也可以使用Azure Portal创建快照):
$ az snapshot create \
--name metadata-disk-snapshot \
--resource-group storage-resources \
--source "/subscriptions/0000(...)/disks/metadata-disk" \
--incremental true
然而,使用Terraform我不能创建这些类型的快照。这是我如何定义磁盘和快照的:
resource "azurerm_managed_disk" "storage_metadata_disk" {
name = "metadata-disk"
location = azurerm_resource_group.storage_resource_group.location
resource_group_name = azurerm_resource_group.storage_resource_group.name
zone = var.disks_configuration.azure_availability_zone
storage_account_type = "PremiumV2_LRS"
create_option = "Empty"
disk_size_gb = var.disks_configuration.metadata_disk.size_gb
disk_iops_read_write = var.disks_configuration.metadata_disk.iops
disk_mbps_read_write = var.disks_configuration.metadata_disk.mbps
}
resource "azurerm_snapshot" "storage_metadata_disk_snapshot" {
name = "metadata-disk-snapshot"
location = azurerm_resource_group.storage_resource_group.location
resource_group_name = azurerm_resource_group.storage_resource_group.name
source_uri = azurerm_managed_disk.storage_metadata_disk.id
create_option = "Import"
}
azurerm_snapshot.create_option
只接受Import
和Copy
,两者都不起作用。“复制”似乎意味着“复制一个已经存在的快照”,“导入”可能意味着“增量”,但情况似乎并非如此。
然而,这两个选项都失败了。当使用“复制”时,错误是明确的-仅增量:
**Error: creating/updating Snapshot (Subscription: "(...)" Resource Group Name: "storage-resources" Snapshot Name: "metadata-disk-snapshot"): performing CreateOrUpdate: snapshots.SnapshotsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="OperationNotAllowed" Message="Only incremental snapshots are supported for disks of Sku PremiumV2\_LRS."**
with module.(...)\_metadata\_disk\_snapshot
on .terraform/modules/(...)/main.tf line 30, in resource "azurerm\_snapshot" "storage\_metadata\_disk\_snapshot":
当使用“导入”(唯一的其他有效选项)时:
**Error: creating/updating Snapshot (Subscription: "(...)" Resource Group Name: "storage-resources" Snapshot Name: "metadata-disk-snapshot"): performing CreateOrUpdate: snapshots.SnapshotsClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="InvalidParameter" Message="Uri not of expected kind" Target="sourceUri"**
with module.(...)\_metadata\_disk\_snapshot
on .terraform/modules/(...)/main.tf line 30, in resource "azurerm\_snapshot" "storage\_metadata\_disk\_snapshot":
如果我尝试使用一个未记录的选项(例如一个虚构的值),错误消息是它期望create_option
是Copy
或Import
。
有什么建议吗?
1条答案
按热度按时间bzzcjhmw1#
目前不支持。我来这里是建议你在Terraform提供商的github仓库中打开一个问题,但你已经这样做了。干得好!
https://github.com/hashicorp/terraform-provider-azurerm/issues/21099