diff --git a/cmd/raid_delete.go b/cmd/raid_delete.go index ea63ecf..11734fc 100644 --- a/cmd/raid_delete.go +++ b/cmd/raid_delete.go @@ -2,6 +2,7 @@ package cmd import ( "context" + "strconv" "github.com/spf13/cobra" @@ -32,6 +33,11 @@ func deleteArray(ctx context.Context, raidType, arrayName string) { Name: arrayName, } + // If arrayName is actually an integer, populate that as the ControllerVirtualDiskID + if id, err := strconv.Atoi(arrayName); err == nil { + raidArray.ControllerVirtualDiskID = id + } + if out, err := raidArray.Delete(ctx, raidType); err != nil { logger.Fatalw("failed to create raid array", "err", err, "array", raidArray, "output", out) } diff --git a/pkg/model/raid_array.go b/pkg/model/raid_array.go index cf81d65..8c5f885 100644 --- a/pkg/model/raid_array.go +++ b/pkg/model/raid_array.go @@ -141,7 +141,7 @@ func (a *RaidArray) DeleteHardware(ctx context.Context) error { } for _, vd := range vds { - if vd.Name == a.Name { + if vd.Name == a.Name || vd.ID == strconv.Itoa(a.ControllerVirtualDiskID) { options := &model.DestroyVirtualDiskOptions{ VirtualDiskID: a.ControllerVirtualDiskID, }