@@ -43,12 +43,18 @@ func ValidateBackupBucketProviderConfigCreate(lenientDecoder runtime.Decoder, co
4343
4444// ValidateBackupBucketProviderConfigUpdate validates the BackupBucket provider config on update.
4545func ValidateBackupBucketProviderConfigUpdate (decoder , lenientDecoder runtime.Decoder , oldConfig , newConfig * runtime.RawExtension , fldPath * field.Path ) field.ErrorList {
46- allErrs := field.ErrorList {}
46+ var (
47+ allErrs = field.ErrorList {}
48+ oldBackupBucketConfig * apisaws.BackupBucketConfig
49+ err error
50+ )
4751
48- oldBackupBucketConfig , err := apisawshelper .DecodeBackupBucketConfig (lenientDecoder , oldConfig )
49- if err != nil {
50- allErrs = append (allErrs , field .Invalid (fldPath , rawExtensionToString (oldConfig ), fmt .Sprintf ("failed to decode old provider config: %s" , err .Error ())))
51- return allErrs
52+ if oldConfig != nil {
53+ oldBackupBucketConfig , err = apisawshelper .DecodeBackupBucketConfig (lenientDecoder , oldConfig )
54+ if err != nil {
55+ allErrs = append (allErrs , field .Invalid (fldPath , rawExtensionToString (oldConfig ), fmt .Sprintf ("failed to decode old provider config: %s" , err .Error ())))
56+ return allErrs
57+ }
5258 }
5359
5460 newBackupBucketConfig , err := apisawshelper .DecodeBackupBucketConfig (decoder , newConfig )
@@ -58,7 +64,9 @@ func ValidateBackupBucketProviderConfigUpdate(decoder, lenientDecoder runtime.De
5864 }
5965
6066 allErrs = append (allErrs , ValidateBackupBucketConfig (newBackupBucketConfig , fldPath )... )
61- allErrs = append (allErrs , validateBackupBucketImmutabilityUpdate (oldBackupBucketConfig , newBackupBucketConfig , fldPath )... )
67+ if oldConfig != nil {
68+ allErrs = append (allErrs , validateBackupBucketImmutabilityUpdate (oldBackupBucketConfig , newBackupBucketConfig , fldPath )... )
69+ }
6270
6371 return allErrs
6472}
0 commit comments