@@ -325,6 +325,12 @@ Engine subnetwork. If none is provided, "default" will be used.`,
325
325
ForceNew : true ,
326
326
Description : `Whether the node is created under a reservation.` ,
327
327
},
328
+ "spot" : {
329
+ Type : schema .TypeBool ,
330
+ Optional : true ,
331
+ ForceNew : true ,
332
+ Description : `Optional. Defines whether the node is Spot VM.` ,
333
+ },
328
334
},
329
335
},
330
336
},
@@ -1162,6 +1168,8 @@ func flattenTpuV2VmSchedulingConfig(v interface{}, d *schema.ResourceData, confi
1162
1168
flattenTpuV2VmSchedulingConfigPreemptible (original ["preemptible" ], d , config )
1163
1169
transformed ["reserved" ] =
1164
1170
flattenTpuV2VmSchedulingConfigReserved (original ["reserved" ], d , config )
1171
+ transformed ["spot" ] =
1172
+ flattenTpuV2VmSchedulingConfigSpot (original ["spot" ], d , config )
1165
1173
return []interface {}{transformed }
1166
1174
}
1167
1175
func flattenTpuV2VmSchedulingConfigPreemptible (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
@@ -1172,6 +1180,10 @@ func flattenTpuV2VmSchedulingConfigReserved(v interface{}, d *schema.ResourceDat
1172
1180
return v
1173
1181
}
1174
1182
1183
+ func flattenTpuV2VmSchedulingConfigSpot (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1184
+ return v
1185
+ }
1186
+
1175
1187
func flattenTpuV2VmDataDisks (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1176
1188
if v == nil {
1177
1189
return v
@@ -1614,6 +1626,13 @@ func expandTpuV2VmSchedulingConfig(v interface{}, d tpgresource.TerraformResourc
1614
1626
transformed ["reserved" ] = transformedReserved
1615
1627
}
1616
1628
1629
+ transformedSpot , err := expandTpuV2VmSchedulingConfigSpot (original ["spot" ], d , config )
1630
+ if err != nil {
1631
+ return nil , err
1632
+ } else if val := reflect .ValueOf (transformedSpot ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1633
+ transformed ["spot" ] = transformedSpot
1634
+ }
1635
+
1617
1636
return transformed , nil
1618
1637
}
1619
1638
@@ -1625,6 +1644,10 @@ func expandTpuV2VmSchedulingConfigReserved(v interface{}, d tpgresource.Terrafor
1625
1644
return v , nil
1626
1645
}
1627
1646
1647
+ func expandTpuV2VmSchedulingConfigSpot (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1648
+ return v , nil
1649
+ }
1650
+
1628
1651
func expandTpuV2VmDataDisks (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1629
1652
l := v .([]interface {})
1630
1653
req := make ([]interface {}, 0 , len (l ))
0 commit comments