@@ -371,6 +371,10 @@ func resourceComputeDisk() *schema.Resource {
371
371
Type : schema .TypeString ,
372
372
Computed : true ,
373
373
},
374
+ "label_fingerprint" : {
375
+ Type : schema .TypeString ,
376
+ Computed : true ,
377
+ },
374
378
"last_attach_timestamp" : {
375
379
Type : schema .TypeString ,
376
380
Computed : true ,
@@ -408,11 +412,6 @@ func resourceComputeDisk() *schema.Resource {
408
412
Computed : true ,
409
413
Deprecated : "Use disk_encryption_key.sha256 instead." ,
410
414
},
411
-
412
- "label_fingerprint" : & schema.Schema {
413
- Type : schema .TypeString ,
414
- Computed : true ,
415
- },
416
415
"project" : {
417
416
Type : schema .TypeString ,
418
417
Optional : true ,
@@ -560,6 +559,9 @@ func resourceComputeDiskRead(d *schema.ResourceData, meta interface{}) error {
560
559
return err
561
560
}
562
561
562
+ if err := d .Set ("label_fingerprint" , flattenComputeDiskLabelFingerprint (res ["labelFingerprint" ])); err != nil {
563
+ return fmt .Errorf ("Error reading Disk: %s" , err )
564
+ }
563
565
if err := d .Set ("creation_timestamp" , flattenComputeDiskCreationTimestamp (res ["creationTimestamp" ])); err != nil {
564
566
return fmt .Errorf ("Error reading Disk: %s" , err )
565
567
}
@@ -636,15 +638,17 @@ func resourceComputeDiskUpdate(d *schema.ResourceData, meta interface{}) error {
636
638
637
639
d .Partial (true )
638
640
639
- if d .HasChange ("labels" ) {
641
+ if d .HasChange ("label_fingerprint" ) || d .HasChange ("labels" ) {
642
+ labelFingerprintProp := d .Get ("label_fingerprint" )
640
643
labelsProp , err := expandComputeDiskLabels (d .Get ("labels" ), d , config )
641
644
if err != nil {
642
645
return err
643
646
}
644
647
645
648
obj = map [string ]interface {}{
649
+ "labelFingerprint" : labelFingerprintProp ,
646
650
"labels" : labelsProp ,
647
- "labelFingerprint" : d . Get ( "label_fingerprint" ).( string ) }
651
+ }
648
652
url , err = replaceVars (d , config , "https://www.googleapis.com/compute/v1/projects/{{project}}/zones/{{zone}}/disks/{{name}}/setLabels" )
649
653
if err != nil {
650
654
return err
@@ -667,6 +671,7 @@ func resourceComputeDiskUpdate(d *schema.ResourceData, meta interface{}) error {
667
671
return err
668
672
}
669
673
674
+ d .SetPartial ("label_fingerprint" )
670
675
d .SetPartial ("labels" )
671
676
}
672
677
if d .HasChange ("size" ) {
@@ -834,6 +839,10 @@ func resourceComputeDiskImport(d *schema.ResourceData, meta interface{}) ([]*sch
834
839
return []* schema.ResourceData {d }, nil
835
840
}
836
841
842
+ func flattenComputeDiskLabelFingerprint (v interface {}) interface {} {
843
+ return v
844
+ }
845
+
837
846
func flattenComputeDiskCreationTimestamp (v interface {}) interface {} {
838
847
return v
839
848
}
@@ -1140,7 +1149,5 @@ func resourceComputeDiskDecoder(d *schema.ResourceData, meta interface{}, res ma
1140
1149
res ["sourceSnapshotEncryptionKey" ] = transformed
1141
1150
}
1142
1151
1143
- d .Set ("label_fingerprint" , res ["labelFingerprint" ])
1144
-
1145
1152
return res , nil
1146
1153
}
0 commit comments