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-07-27 17:46:52 +08:00
parent 1711094110
commit e030d4c0eb
18 changed files with 207 additions and 39 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"))
}