0

环境:

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
  }

..where是用现有磁盘的完整路径定义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"

我试图提供""姓名,但它错误地告诉我必须提供姓名。关于我做错了什么的任何指示?

谢谢!!

4

2 回答 2

0

回答我自己的问题:

我的错误是指定disk_size_gb大于原始(20GB)。结果,TF 给了我(它可能是从 Azure API 代理答案?)好像提供的名称不好。因此,只要disk_size_gb匹配提供的现有磁盘大小,操作就应该成功(是的,磁盘名称保持完整)。

于 2017-11-30T19:11:31.083 回答
0

只需name从您的定义中删除,它就会起作用。

storage_data_disk {
    managed_disk_id = "${var.kafka_data_image_id}"
    create_option   = "Attach"
    disk_size_gb    = "30"
    lun             = 5
}
于 2017-11-30T15:26:00.170 回答