func resourceFWPolicyV1Update(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) networkingClient, err := config.networkingV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } opts := policies.UpdateOpts{} if d.HasChange("name") { opts.Name = d.Get("name").(string) } if d.HasChange("description") { opts.Description = d.Get("description").(string) } if d.HasChange("rules") { v := d.Get("rules").([]interface{}) log.Printf("[DEBUG] Rules found : %#v", v) log.Printf("[DEBUG] Rules count : %d", len(v)) rules := make([]string, len(v)) for i, v := range v { rules[i] = v.(string) } opts.Rules = rules } log.Printf("[DEBUG] Updating firewall policy with id %s: %#v", d.Id(), opts) err = policies.Update(networkingClient, d.Id(), opts).Err if err != nil { return err } return resourceFWPolicyV1Read(d, meta) }
func updatePolicy(t *testing.T, policyID string, opts *policies.UpdateOpts) { p, err := policies.Update(base.Client, policyID, *opts).Extract() th.AssertNoErr(t, err) t.Logf("Updated policy ID [%s]", p.ID) }