func resourceComputeSecGroupV2Delete(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) computeClient, err := config.computeV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack compute client: %s", err) } err = secgroups.Delete(computeClient, d.Id()).ExtractErr() if err != nil { return fmt.Errorf("Error deleting OpenStack security group: %s", err) } d.SetId("") return nil }
func SecGroupV2StateRefreshFunc(computeClient *gophercloud.ServiceClient, d *schema.ResourceData) resource.StateRefreshFunc { return func() (interface{}, string, error) { log.Printf("[DEBUG] Attempting to delete Security Group %s.\n", d.Id()) err := secgroups.Delete(computeClient, d.Id()).ExtractErr() if err != nil { return nil, "", err } s, err := secgroups.Get(computeClient, d.Id()).Extract() if err != nil { err = CheckDeleted(d, err, "Security Group") if err != nil { return s, "", err } else { log.Printf("[DEBUG] Successfully deleted Security Group %s", d.Id()) return s, "DELETED", nil } } log.Printf("[DEBUG] Security Group %s still active.\n", d.Id()) return s, "ACTIVE", nil } }
func deleteSecGroup(t *testing.T, client *gophercloud.ServiceClient, id string) { err := secgroups.Delete(client, id).ExtractErr() th.AssertNoErr(t, err) t.Logf("Deleted group %s", id) }