@@ -2529,6 +2529,31 @@ func TestAccComputeInstance_metadataStartupScript_update(t *testing.T) {
25292529 })
25302530}
25312531
2532+ func TestAccComputeInstance_regionBootDisk (t * testing.T ) {
2533+ t .Parallel ()
2534+
2535+ var instance compute.Instance
2536+ var instanceName = fmt .Sprintf ("tf-test-%s" , acctest .RandString (t , 10 ))
2537+ var diskName = fmt .Sprintf ("tf-test-%s" , acctest .RandString (t , 10 ))
2538+ var suffix = acctest .RandString (t , 10 )
2539+
2540+ acctest .VcrTest (t , resource.TestCase {
2541+ PreCheck : func () { acctest .AccTestPreCheck (t ) },
2542+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories (t ),
2543+ CheckDestroy : testAccCheckComputeInstanceDestroyProducer (t ),
2544+ Steps : []resource.TestStep {
2545+ {
2546+ Config : testAccComputeInstance_regionBootDisk (instanceName , diskName , suffix ),
2547+ Check : resource .ComposeTestCheckFunc (
2548+ testAccCheckComputeInstanceExists (
2549+ t , "google_compute_instance.regional_vm_instance" , & instance ),
2550+ testAccCheckComputeInstanceBootDisk (& instance , diskName ),
2551+ ),
2552+ },
2553+ },
2554+ })
2555+ }
2556+
25322557func testAccCheckComputeInstanceUpdateMachineType (t * testing.T , n string ) resource.TestCheckFunc {
25332558 return func (s * terraform.State ) error {
25342559 rs , ok := s .RootModule ().Resources [n ]
@@ -6741,3 +6766,52 @@ resource "google_compute_instance" "foobar" {
67416766}
67426767` , instance , machineType , metadata )
67436768}
6769+
6770+ func testAccComputeInstance_regionBootDisk (instance , diskName , suffix string ) string {
6771+ return fmt .Sprintf (`
6772+ resource "google_compute_instance" "regional_vm_instance" {
6773+ name = "%s"
6774+ machine_type = "e2-medium"
6775+ zone = "us-central1-c"
6776+
6777+ boot_disk {
6778+ source = google_compute_region_disk.regionaldisk.self_link
6779+ }
6780+ network_interface {
6781+ network = google_compute_network.vpc_network.name
6782+ access_config {}
6783+ }
6784+ }
6785+
6786+ resource "google_compute_region_disk" "regionaldisk" {
6787+ name = "%s"
6788+ type = "pd-ssd"
6789+ region = "us-central1"
6790+ replica_zones = ["us-central1-c", "us-central1-a"]
6791+ size = 50
6792+ snapshot = google_compute_snapshot.debian.id
6793+ }
6794+
6795+ resource "google_compute_network" "vpc_network" {
6796+ name = "tf-test-%s"
6797+ }
6798+
6799+ data "google_compute_image" "debian" {
6800+ family = "debian-11"
6801+ project = "debian-cloud"
6802+ }
6803+
6804+ resource "google_compute_snapshot" "debian" {
6805+ name = "tf-test-%s"
6806+ source_disk = google_compute_disk.debian.id
6807+ }
6808+
6809+ resource "google_compute_disk" "debian" {
6810+ name = "tf-test-%s"
6811+ image = data.google_compute_image.debian.self_link
6812+ size = 10
6813+ type = "pd-ssd"
6814+ zone = "us-central1-c"
6815+ }
6816+ ` , instance , diskName , suffix , suffix , suffix )
6817+ }
0 commit comments