Skip to content

Commit 5af2237

Browse files
committed
Enforce immutability of VolumeGroupSnapshotContentSpec once set
Signed-off-by: Leonardo Cecchi <[email protected]>
1 parent 3107987 commit 5af2237

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

client/apis/volumegroupsnapshot/v1beta2/types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,8 @@ type VolumeGroupSnapshotContentSpec struct {
271271
// This field is immutable after creation.
272272
// Required.
273273
// +kubebuilder:validation:XValidation:rule="has(self.name) && has(self.__namespace__)",message="both volumeGroupSnapshotRef.name and volumeGroupSnapshotRef.namespace must be set"
274+
// +kubebuilder:validation:XValidation:rule="self.name == oldSelf.name && self.__namespace__ == oldSelf.__namespace__",message="volumeGroupSnapshotRef.name and volumeGroupSnapshotRef.namespace are immutable"
275+
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.uid) || (has(self.uid) && self.uid == oldSelf.uid)",message="volumeGroupSnapshotRef.uid is immutable once set"
274276
VolumeGroupSnapshotRef core_v1.ObjectReference `json:"volumeGroupSnapshotRef" protobuf:"bytes,1,opt,name=volumeGroupSnapshotRef"`
275277

276278
// DeletionPolicy determines whether this VolumeGroupSnapshotContent and the

client/config/crd/groupsnapshot.storage.k8s.io_volumegroupsnapshotcontents.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,11 @@ spec:
557557
- message: both volumeGroupSnapshotRef.name and volumeGroupSnapshotRef.namespace
558558
must be set
559559
rule: has(self.name) && has(self.__namespace__)
560+
- message: volumeGroupSnapshotRef.name and volumeGroupSnapshotRef.namespace
561+
are immutable
562+
rule: self.name == oldSelf.name && self.__namespace__ == oldSelf.__namespace__
563+
- message: volumeGroupSnapshotRef.uid is immutable once set
564+
rule: '!has(oldSelf.uid) || (has(self.uid) && self.uid == oldSelf.uid)'
560565
required:
561566
- deletionPolicy
562567
- driver

vendor/github.com/kubernetes-csi/external-snapshotter/client/v8/apis/volumegroupsnapshot/v1beta2/types.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)