Skip to content

Commit e73f1a8

Browse files
committed
fix validation
Signed-off-by: Britania Rodriguez Reyes <[email protected]>
1 parent 1288d42 commit e73f1a8

6 files changed

+375
-323
lines changed

apis/placement/v1alpha1/override_types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ type OverridePolicy struct {
9191
}
9292

9393
// OverrideRule defines how to override the selected resources on the target clusters.
94-
// +kubebuilder:validation:XValidation:rule="!(has(self.overrideType) && self.overrideType == 'Delete' && self.jsonPatchOverrides.size() != 0)", message="jsonPatchOverrides cannot be set when the override type is Delete."
95-
// +kubebuilder:validation:XValidation:rule="!(has(self.overrideType) && self.overrideType == 'JSONPatch' && self.jsonPatchOverrides.size() == 0)", message="jsonPatchOverrides must be set when the override type is JSONPatch."
94+
// +kubebuilder:validation:XValidation:rule="!(self.overrideType == 'Delete' && has(self.jsonPatchOverrides) && self.jsonPatchOverrides.size() > 0)", message="jsonPatchOverrides cannot be set when the override type is Delete."
95+
// +kubebuilder:validation:XValidation:rule="!(self.overrideType == 'JSONPatch' && !has(self.jsonPatchOverrides) && self.jsonPatchOverrides.size() == 0)", message="jsonPatchOverrides must be set when the override type is JSONPatch."
9696
type OverrideRule struct {
9797
// ClusterSelectors selects the target clusters.
9898
// The resources will be overridden before applying to the matching clusters.

config/crd/bases/placement.kubernetes-fleet.io_clusterresourceoverrides.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,11 @@ spec:
365365
x-kubernetes-validations:
366366
- message: jsonPatchOverrides cannot be set when the override
367367
type is Delete.
368-
rule: '!(has(self.overrideType) && self.overrideType == ''Delete''
369-
&& self.jsonPatchOverrides.size() != 0)'
368+
rule: '!(self.overrideType == ''Delete'' && has(self.jsonPatchOverrides)
369+
&& self.jsonPatchOverrides.size() > 0)'
370370
- message: jsonPatchOverrides must be set when the override
371371
type is JSONPatch.
372-
rule: '!(has(self.overrideType) && self.overrideType == ''JSONPatch''
372+
rule: '!(self.overrideType == ''JSONPatch'' && !has(self.jsonPatchOverrides)
373373
&& self.jsonPatchOverrides.size() == 0)'
374374
maxItems: 20
375375
minItems: 1

config/crd/bases/placement.kubernetes-fleet.io_clusterresourceoverridesnapshots.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -379,12 +379,12 @@ spec:
379379
x-kubernetes-validations:
380380
- message: jsonPatchOverrides cannot be set when the override
381381
type is Delete.
382-
rule: '!(has(self.overrideType) && self.overrideType ==
383-
''Delete'' && self.jsonPatchOverrides.size() != 0)'
382+
rule: '!(self.overrideType == ''Delete'' && has(self.jsonPatchOverrides)
383+
&& self.jsonPatchOverrides.size() > 0)'
384384
- message: jsonPatchOverrides must be set when the override
385385
type is JSONPatch.
386-
rule: '!(has(self.overrideType) && self.overrideType ==
387-
''JSONPatch'' && self.jsonPatchOverrides.size() == 0)'
386+
rule: '!(self.overrideType == ''JSONPatch'' && !has(self.jsonPatchOverrides)
387+
&& self.jsonPatchOverrides.size() == 0)'
388388
maxItems: 20
389389
minItems: 1
390390
type: array

config/crd/bases/placement.kubernetes-fleet.io_resourceoverrides.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,11 +281,11 @@ spec:
281281
x-kubernetes-validations:
282282
- message: jsonPatchOverrides cannot be set when the override
283283
type is Delete.
284-
rule: '!(has(self.overrideType) && self.overrideType == ''Delete''
285-
&& self.jsonPatchOverrides.size() != 0)'
284+
rule: '!(self.overrideType == ''Delete'' && has(self.jsonPatchOverrides)
285+
&& self.jsonPatchOverrides.size() > 0)'
286286
- message: jsonPatchOverrides must be set when the override
287287
type is JSONPatch.
288-
rule: '!(has(self.overrideType) && self.overrideType == ''JSONPatch''
288+
rule: '!(self.overrideType == ''JSONPatch'' && !has(self.jsonPatchOverrides)
289289
&& self.jsonPatchOverrides.size() == 0)'
290290
maxItems: 20
291291
minItems: 1

config/crd/bases/placement.kubernetes-fleet.io_resourceoverridesnapshots.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,12 +295,12 @@ spec:
295295
x-kubernetes-validations:
296296
- message: jsonPatchOverrides cannot be set when the override
297297
type is Delete.
298-
rule: '!(has(self.overrideType) && self.overrideType ==
299-
''Delete'' && self.jsonPatchOverrides.size() != 0)'
298+
rule: '!(self.overrideType == ''Delete'' && has(self.jsonPatchOverrides)
299+
&& self.jsonPatchOverrides.size() > 0)'
300300
- message: jsonPatchOverrides must be set when the override
301301
type is JSONPatch.
302-
rule: '!(has(self.overrideType) && self.overrideType ==
303-
''JSONPatch'' && self.jsonPatchOverrides.size() == 0)'
302+
rule: '!(self.overrideType == ''JSONPatch'' && !has(self.jsonPatchOverrides)
303+
&& self.jsonPatchOverrides.size() == 0)'
304304
maxItems: 20
305305
minItems: 1
306306
type: array

0 commit comments

Comments
 (0)