Update CRDs and CLI to support in-place restore (#10038)

Update CRDs(Restore, DataDownload, PodVolumeRestore) and restore create CLI to support in-place restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
This commit is contained in:
Wenkai Yin(尹文开)
2026-08-26 10:48:33 +08:00
parent 2c6f45508c
commit feed1a63e7
16 changed files with 204 additions and 36 deletions
+10 -4
View File
@@ -5,8 +5,14 @@ import (
)
func IsResourcePolicyValid(resourcePolicy string) bool {
if resourcePolicy == string(api.PolicyTypeNone) || resourcePolicy == string(api.PolicyTypeUpdate) {
return true
}
return false
return resourcePolicy == "" ||
resourcePolicy == string(api.ResourcePolicyTypeNone) ||
resourcePolicy == string(api.ResourcePolicyTypeUpdate)
}
func IsVolumeDataPolicyValid(volumeDataPolicy string) bool {
return volumeDataPolicy == "" ||
volumeDataPolicy == string(api.VolumeDataPolicyTypeNone) ||
volumeDataPolicy == string(api.VolumeDataPolicyTypeFull) ||
volumeDataPolicy == string(api.VolumeDataPolicyTypeIncremental)
}
+12 -3
View File
@@ -9,7 +9,16 @@ import (
)
func TestIsResourcePolicyValid(t *testing.T) {
require.True(t, IsResourcePolicyValid(string(velerov1api.PolicyTypeNone)))
require.True(t, IsResourcePolicyValid(string(velerov1api.PolicyTypeUpdate)))
require.False(t, IsResourcePolicyValid(""))
require.True(t, IsResourcePolicyValid(string(velerov1api.ResourcePolicyTypeNone)))
require.True(t, IsResourcePolicyValid(string(velerov1api.ResourcePolicyTypeUpdate)))
require.True(t, IsResourcePolicyValid(""))
require.False(t, IsResourcePolicyValid("invalid"))
}
func TestIsVolumeDataPolicyValid(t *testing.T) {
require.True(t, IsVolumeDataPolicyValid(string(velerov1api.VolumeDataPolicyTypeNone)))
require.True(t, IsVolumeDataPolicyValid(string(velerov1api.VolumeDataPolicyTypeFull)))
require.True(t, IsVolumeDataPolicyValid(string(velerov1api.VolumeDataPolicyTypeIncremental)))
require.True(t, IsVolumeDataPolicyValid(""))
require.False(t, IsVolumeDataPolicyValid("invalid"))
}