diff --git a/google/resource_compute_instance_migrate.go b/google/resource_compute_instance_migrate.go index feb7fe1c..9e94e890 100644 --- a/google/resource_compute_instance_migrate.go +++ b/google/resource_compute_instance_migrate.go @@ -238,7 +238,18 @@ func migrateStateV3toV4(is *terraform.InstanceState, meta interface{}) (*terrafo is.Attributes["boot_disk.0.disk_encryption_key_raw"] = is.Attributes["disk.0.disk_encryption_key_raw"] is.Attributes["boot_disk.0.disk_encryption_key_sha256"] = is.Attributes["disk.0.disk_encryption_key_sha256"] - // Don't worry about initialize_params, since the disk has already been created. + if is.Attributes["disk.0.size"] != "" { + is.Attributes["boot_disk.0.initialize_params.#"] = "1" + is.Attributes["boot_disk.0.initialize_params.0.size"] = is.Attributes["disk.0.size"] + } + if is.Attributes["disk.0.type"] != "" { + is.Attributes["boot_disk.0.initialize_params.#"] = "1" + is.Attributes["boot_disk.0.initialize_params.0.type"] = is.Attributes["disk.0.type"] + } + if is.Attributes["disk.0.image"] != "" { + is.Attributes["boot_disk.0.initialize_params.#"] = "1" + is.Attributes["boot_disk.0.initialize_params.0.image"] = is.Attributes["disk.0.image"] + } } else if is.Attributes[fmt.Sprintf("disk.%d.scratch", i)] == "true" { // Note: the GCP API does not allow for scratch disks without auto_delete, so this situation // should never occur. diff --git a/google/resource_compute_instance_migrate_test.go b/google/resource_compute_instance_migrate_test.go index df3ae4d0..8b28dd42 100644 --- a/google/resource_compute_instance_migrate_test.go +++ b/google/resource_compute_instance_migrate_test.go @@ -154,6 +154,9 @@ func TestAccComputeInstanceMigrateState_bootDisk(t *testing.T) { "boot_disk.0.device_name": "persistent-disk-0", "boot_disk.0.disk_encryption_key_raw": "encrypt-key", "boot_disk.0.disk_encryption_key_sha256": "encrypt-key-sha", + "boot_disk.0.initialize_params.#": "1", + "boot_disk.0.initialize_params.0.size": "12", + "boot_disk.0.initialize_params.0.type": "pd-ssd", "boot_disk.0.source": instanceName, "zone": zone, "create_timeout": "4", @@ -218,6 +221,9 @@ func TestAccComputeInstanceMigrateState_v4FixBootDisk(t *testing.T) { "boot_disk.0.device_name": "persistent-disk-0", "boot_disk.0.disk_encryption_key_raw": "encrypt-key", "boot_disk.0.disk_encryption_key_sha256": "encrypt-key-sha", + "boot_disk.0.initialize_params.#": "1", + "boot_disk.0.initialize_params.0.size": "12", + "boot_disk.0.initialize_params.0.type": "pd-ssd", "boot_disk.0.source": instanceName, "zone": zone, }