diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 23712ec256..9bd34f978e 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -4715,6 +4715,7 @@ func (manager *SGuestManager) DeleteExpiredPrepaidServers(ctx context.Context, u if guests == nil { return } + deteleSnapshot := options.Options.DeleteSnapshotExpiredRelease for i := 0; i < len(guests); i += 1 { // fake delete expired prepaid servers if len(guests[i].ExternalId) > 0 { @@ -4724,7 +4725,7 @@ func (manager *SGuestManager) DeleteExpiredPrepaidServers(ctx context.Context, u } } guests[i].SetDisableDelete(userCred, false) - guests[i].StartDeleteGuestTask(ctx, userCred, "", false, false, false) + guests[i].StartDeleteGuestTask(ctx, userCred, "", false, false, deteleSnapshot) } } diff --git a/pkg/compute/options/options.go b/pkg/compute/options/options.go index 47fc01a279..6f69e9d454 100644 --- a/pkg/compute/options/options.go +++ b/pkg/compute/options/options.go @@ -161,6 +161,7 @@ type ComputeOptions struct { common_options.DBOptions EnableAutoMergeSecurityGroup bool `help:"Enable auto merge secgroup when sync security group from cloud, default False" default:"false"` + DeleteSnapshotExpiredRelease bool `help:"Should the virtual machine be automatically deleted when the virtual machine expires?" default:"false"` DefaultNetworkGatewayAddressEsxi uint32 `help:"Default address for network gateway" default:"1"`