Files
1Panel/agent/app/service/vm-resource-delete.go
ssongliu c06c4e338b feat(vm): enable community virtual machines and migrate xpack data (#14279)
* feat(vm): enable community virtual machines and migrate xpack data

* fix(vm): stop ISO download polling on failure or cancellation

* fix(vm): respect deleteFile when deleting failed ISO imports
2026-11-02 18:22:58 +08:00

37 lines
919 B
Go

package service
import (
"context"
"github.com/1Panel-dev/1Panel/agent/buserr"
"github.com/1Panel-dev/1Panel/agent/global"
)
func (v *VMService) deleteVMResource(ctx context.Context, resourceType, name string, force bool) error {
if err := v.deleteVMResourceWithContext(ctx, resourceType, name); err != nil {
if !force {
return err
}
if global.LOG != nil {
global.LOG.Warnf("[xpack] force delete VM %s %q metadata after resource cleanup failed: %v", resourceType, name, err)
}
}
return nil
}
func (v *VMService) deleteVMResourceWithContext(ctx context.Context, resourceType, name string) error {
if !v.helperExists() {
return buserr.New("ErrVMHelperNotFound")
}
items, err := v.provider.ListResources(ctx, resourceType)
if err != nil {
return err
}
for _, item := range items {
if item.Name == name {
return v.provider.DeleteResource(ctx, resourceType, name)
}
}
return nil
}