环境:
Terraform v0.11.0
+ provider.azurerm v0.3.3
+ provider.tls v1.0.1
问题:
尝试在正在配置的VM上附加现有磁盘,因此会出现错误:
* azurerm_virtual_machine.kafka_vm: compute.VirtualMachinesClient#CreateOrUpdate: Failure responding to request: StatusCode=409 -- Original Error: autorest/azure: Service returned an error. Status=409 Code="PropertyChangeNotAllowed" Message="Changing property 'dataDisk.name' is not allowed."
以下是vm.tf
:
storage_data_disk {
name = "${var.env_short_name}-zookeeper-data01"
managed_disk_id = "${var.kafka_data_image_id}"
create_option = "Attach"
disk_size_gb = "30"
lun = 5
}
..其中managed_disk_id
是使用现有磁盘的完整路径定义的变量(即$var.kafka_data_image_id
)。例如:
kafka_data_image_id = "/subscriptions/XXXXX-fcf3-4ec6-b598-XXXXXXXXXXXX/resourceGroups/TEST-Environment-test0001-rg/providers/Microsoft.Compute/disks/test1-kafka-data01"
我试图提供""
这个名字,但是它错误地告诉我必须提供姓名。关于我做错了什么的指示?
谢谢!
答案 0 :(得分:0)
只需从您的定义中删除name
即可。
storage_data_disk {
managed_disk_id = "${var.kafka_data_image_id}"
create_option = "Attach"
disk_size_gb = "30"
lun = 5
}
答案 1 :(得分:0)
回答我自己的问题:
我的错误是指定disk_size_gb
大于原始版本(20GB
)。结果,TF给了我(可能是代理Azure API的答案吗?),好像提供的名称是坏的。因此,只要提供了disk_size_gb
匹配的现有磁盘大小,操作就应该成功(是的,磁盘名称保持不变)。