migrate boot disk initialize params (#592)

This commit is contained in:
Dana Hoffman 2017-10-20 09:45:05 -07:00 committed by GitHub
parent 2765290724
commit 081e675d3d
2 changed files with 18 additions and 1 deletions

View File

@ -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.

View File

@ -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,
}