@@ -180,20 +180,33 @@ func TestAccComputeInstanceTemplate_networkIPAddress(t *testing.T) {
180
180
func TestAccComputeInstanceTemplate_disks (t * testing.T ) {
181
181
t .Parallel ()
182
182
183
- var instanceTemplate compute.InstanceTemplate
184
-
185
183
resource .Test (t , resource.TestCase {
186
184
PreCheck : func () { testAccPreCheck (t ) },
187
185
Providers : testAccProviders ,
188
186
CheckDestroy : testAccCheckComputeInstanceTemplateDestroy ,
189
187
Steps : []resource.TestStep {
190
188
resource.TestStep {
191
189
Config : testAccComputeInstanceTemplate_disks (),
192
- Check : resource .ComposeTestCheckFunc (
193
- testAccCheckComputeInstanceTemplateExists (
194
- "google_compute_instance_template.foobar" , & instanceTemplate ),
195
- testAccCheckComputeInstanceTemplateDisk (& instanceTemplate , "terraform-test-foobar" , false , false ),
196
- ),
190
+ },
191
+ resource.TestStep {
192
+ ResourceName : "google_compute_instance_template.foobar" ,
193
+ ImportState : true ,
194
+ ImportStateVerify : true ,
195
+ },
196
+ },
197
+ })
198
+ }
199
+
200
+ func TestAccComputeInstanceTemplate_regionDisks (t * testing.T ) {
201
+ t .Parallel ()
202
+
203
+ resource .Test (t , resource.TestCase {
204
+ PreCheck : func () { testAccPreCheck (t ) },
205
+ Providers : testAccProviders ,
206
+ CheckDestroy : testAccCheckComputeInstanceTemplateDestroy ,
207
+ Steps : []resource.TestStep {
208
+ resource.TestStep {
209
+ Config : testAccComputeInstanceTemplate_regionDisks (),
197
210
},
198
211
resource.TestStep {
199
212
ResourceName : "google_compute_instance_template.foobar" ,
@@ -534,34 +547,6 @@ func testAccCheckComputeInstanceTemplateNetworkName(instanceTemplate *compute.In
534
547
}
535
548
}
536
549
537
- func testAccCheckComputeInstanceTemplateDisk (instanceTemplate * compute.InstanceTemplate , source string , delete bool , boot bool ) resource.TestCheckFunc {
538
- return func (s * terraform.State ) error {
539
- if instanceTemplate .Properties .Disks == nil {
540
- return fmt .Errorf ("no disks" )
541
- }
542
-
543
- for _ , disk := range instanceTemplate .Properties .Disks {
544
- if disk .InitializeParams == nil {
545
- // Check disk source
546
- if disk .Source == source {
547
- if disk .AutoDelete == delete && disk .Boot == boot {
548
- return nil
549
- }
550
- }
551
- } else {
552
- // Check source image
553
- if disk .InitializeParams .SourceImage == source {
554
- if disk .AutoDelete == delete && disk .Boot == boot {
555
- return nil
556
- }
557
- }
558
- }
559
- }
560
-
561
- return fmt .Errorf ("Disk not found: %s" , source )
562
- }
563
- }
564
-
565
550
func testAccCheckComputeInstanceTemplateSubnetwork (instanceTemplate * compute.InstanceTemplate ) resource.TestCheckFunc {
566
551
return func (s * terraform.State ) error {
567
552
for _ , i := range instanceTemplate .Properties .NetworkInterfaces {
@@ -942,7 +927,49 @@ resource "google_compute_instance_template" "foobar" {
942
927
}
943
928
944
929
disk {
945
- source = "terraform-test-foobar"
930
+ source = "${google_compute_disk.foobar.name}"
931
+ auto_delete = false
932
+ boot = false
933
+ }
934
+
935
+ network_interface {
936
+ network = "default"
937
+ }
938
+
939
+ metadata {
940
+ foo = "bar"
941
+ }
942
+ }` , acctest .RandString (10 ), acctest .RandString (10 ))
943
+ }
944
+
945
+ func testAccComputeInstanceTemplate_regionDisks () string {
946
+ return fmt .Sprintf (`
947
+ data "google_compute_image" "my_image" {
948
+ family = "debian-9"
949
+ project = "debian-cloud"
950
+ }
951
+
952
+ resource "google_compute_region_disk" "foobar" {
953
+ name = "instancet-test-%s"
954
+ size = 10
955
+ type = "pd-ssd"
956
+ region = "us-central1"
957
+ replica_zones = ["us-central1-a", "us-central1-f"]
958
+ }
959
+
960
+ resource "google_compute_instance_template" "foobar" {
961
+ name = "instancet-test-%s"
962
+ machine_type = "n1-standard-1"
963
+
964
+ disk {
965
+ source_image = "${data.google_compute_image.my_image.self_link}"
966
+ auto_delete = true
967
+ disk_size_gb = 100
968
+ boot = true
969
+ }
970
+
971
+ disk {
972
+ source = "${google_compute_region_disk.foobar.name}"
946
973
auto_delete = false
947
974
boot = false
948
975
}
0 commit comments