func (command *commandDelete) Execute(resource *handler.Resource) { snapshotID := resource.Params.(*paramsDelete).snapshotID err := osSnapshots.Delete(command.Ctx.ServiceClient, snapshotID).ExtractErr() if err != nil { resource.Err = err return } resource.Result = fmt.Sprintf("Deleting snapshot [%s]\n", snapshotID) }
func (driver *Driver) RemoveSnapshot(snapshotID string) error { resp := snapshots.Delete(driver.ClientBlockStorage, snapshotID) if resp.Err != nil { return resp.Err } log.Println("Removed Snapshot: " + snapshotID) return nil }
func TestSnapshots(t *testing.T) { client, err := newClient(t) th.AssertNoErr(t, err) v, err := volumes.Create(client, &volumes.CreateOpts{ Name: "gophercloud-test-volume", Size: 1, }).Extract() th.AssertNoErr(t, err) err = volumes.WaitForStatus(client, v.ID, "available", 120) th.AssertNoErr(t, err) t.Logf("Created volume: %v\n", v) ss, err := snapshots.Create(client, &snapshots.CreateOpts{ Name: "gophercloud-test-snapshot", VolumeID: v.ID, }).Extract() th.AssertNoErr(t, err) err = snapshots.WaitForStatus(client, ss.ID, "available", 120) th.AssertNoErr(t, err) t.Logf("Created snapshot: %+v\n", ss) err = snapshots.Delete(client, ss.ID).ExtractErr() th.AssertNoErr(t, err) err = gophercloud.WaitFor(120, func() (bool, error) { _, err := snapshots.Get(client, ss.ID).Extract() if err != nil { return true, nil } return false, nil }) th.AssertNoErr(t, err) t.Log("Deleted snapshot\n") err = volumes.Delete(client, v.ID).ExtractErr() th.AssertNoErr(t, err) err = gophercloud.WaitFor(120, func() (bool, error) { _, err := volumes.Get(client, v.ID).Extract() if err != nil { return true, nil } return false, nil }) th.AssertNoErr(t, err) t.Log("Deleted volume\n") }
func (d *driver) RemoveSnapshot(snapshotID string) error { resp := snapshots.Delete(d.clientBlockStorage, snapshotID) if resp.Err != nil { return errors.WithFieldE( "snapshotId", snapshotID, "error removing snapshot", resp.Err) } log.WithField("snapshotId", snapshotID).Debug("removed snapshot") return nil }
// // SnapshotRemove removes a snapshot. func (d *driver) SnapshotRemove( ctx types.Context, snapshotID string, opts types.Store) error { resp := snapshots.Delete(d.clientBlockStorage, snapshotID) if resp.Err != nil { return goof.WithFieldsE(goof.Fields{ "snapshotId": snapshotID}, "error removing snapshot", resp.Err) } return nil }
// Delete will delete the existing Snapshot with the provided ID. func Delete(client *gophercloud.ServiceClient, id string) os.DeleteResult { return os.Delete(client, id) }