allow setting instance scheduling booleans to false

This commit is contained in:
Dana Hoffman 2018-07-16 13:54:47 -07:00
parent b00b1d7c76
commit 547245bada
2 changed files with 11 additions and 24 deletions

View File

@ -667,21 +667,13 @@ func expandComputeInstance(project string, zone *compute.Zone, d *schema.Resourc
} }
prefix := "scheduling.0" prefix := "scheduling.0"
scheduling := &computeBeta.Scheduling{} scheduling := &computeBeta.Scheduling{
AutomaticRestart: googleapi.Bool(d.Get(prefix + ".automatic_restart").(bool)),
if val, ok := d.GetOk(prefix + ".automatic_restart"); ok { Preemptible: d.Get(prefix + ".preemptible").(bool),
scheduling.AutomaticRestart = googleapi.Bool(val.(bool)) OnHostMaintenance: d.Get(prefix + ".on_host_maintenance").(string),
ForceSendFields: []string{"AutomaticRestart", "Preemptible"},
} }
if val, ok := d.GetOk(prefix + ".preemptible"); ok {
scheduling.Preemptible = val.(bool)
}
if val, ok := d.GetOk(prefix + ".on_host_maintenance"); ok {
scheduling.OnHostMaintenance = val.(string)
}
scheduling.ForceSendFields = []string{"AutomaticRestart", "Preemptible"}
metadata, err := resourceInstanceMetadata(d) metadata, err := resourceInstanceMetadata(d)
if err != nil { if err != nil {
return nil, fmt.Errorf("Error creating metadata: %s", err) return nil, fmt.Errorf("Error creating metadata: %s", err)
@ -1069,18 +1061,12 @@ func resourceComputeInstanceUpdate(d *schema.ResourceData, meta interface{}) err
if d.HasChange("scheduling") { if d.HasChange("scheduling") {
prefix := "scheduling.0" prefix := "scheduling.0"
scheduling := &compute.Scheduling{} scheduling := &compute.Scheduling{
AutomaticRestart: googleapi.Bool(d.Get(prefix + ".automatic_restart").(bool)),
if val, ok := d.GetOk(prefix + ".automatic_restart"); ok { Preemptible: d.Get(prefix + ".preemptible").(bool),
scheduling.AutomaticRestart = googleapi.Bool(val.(bool)) OnHostMaintenance: d.Get(prefix + ".on_host_maintenance").(string),
ForceSendFields: []string{"AutomaticRestart", "Preemptible"},
} }
if val, ok := d.GetOk(prefix + ".preemptible"); ok {
scheduling.Preemptible = val.(bool)
}
if val, ok := d.GetOk(prefix + ".on_host_maintenance"); ok {
scheduling.OnHostMaintenance = val.(string)
}
scheduling.ForceSendFields = []string{"AutomaticRestart", "Preemptible"}
op, err := config.clientCompute.Instances.SetScheduling(project, op, err := config.clientCompute.Instances.SetScheduling(project,
zone, d.Id(), scheduling).Do() zone, d.Id(), scheduling).Do()

View File

@ -2339,6 +2339,7 @@ resource "google_compute_instance" "foobar" {
} }
scheduling { scheduling {
automatic_restart = false
} }
} }
`, instance) `, instance)