@@ -119,13 +119,15 @@ type ClusterClassSpec struct {
119
119
// variables defines the variables which can be configured
120
120
// in the Cluster topology and are then used in patches.
121
121
// +optional
122
+ // +listType=atomic
122
123
// +kubebuilder:validation:MaxItems=1000
123
124
Variables []ClusterClassVariable `json:"variables,omitempty"`
124
125
125
126
// patches defines the patches which are applied to customize
126
127
// referenced templates of a ClusterClass.
127
128
// Note: Patches will be applied in the order of the array.
128
129
// +optional
130
+ // +listType=atomic
129
131
// +kubebuilder:validation:MaxItems=1000
130
132
Patches []ClusterClassPatch `json:"patches,omitempty"`
131
133
}
@@ -393,6 +395,7 @@ type MachineHealthCheckClass struct {
393
395
// logical OR, i.e. if any of the conditions is met, the node is unhealthy.
394
396
//
395
397
// +optional
398
+ // +listType=atomic
396
399
// +kubebuilder:validation:MaxItems=100
397
400
UnhealthyNodeConditions []UnhealthyNodeCondition `json:"unhealthyNodeConditions,omitempty"`
398
401
@@ -745,6 +748,7 @@ type JSONSchemaProps struct {
745
748
// enum is the list of valid values of the variable.
746
749
// NOTE: Can be set for all types.
747
750
// +optional
751
+ // +listType=atomic
748
752
// +kubebuilder:validation:MaxItems=100
749
753
Enum []apiextensionsv1.JSON `json:"enum,omitempty"`
750
754
@@ -975,6 +979,7 @@ type ClusterClassPatch struct {
975
979
// Note: Patches will be applied in the order of the array.
976
980
// Note: Exactly one of Definitions or External must be set.
977
981
// +optional
982
+ // +listType=atomic
978
983
// +kubebuilder:validation:MaxItems=100
979
984
Definitions []PatchDefinition `json:"definitions,omitempty"`
980
985
@@ -995,6 +1000,7 @@ type PatchDefinition struct {
995
1000
// Note: Patches will be applied in the order of the array.
996
1001
// +kubebuilder:validation:MaxItems=100
997
1002
// +required
1003
+ // +listType=atomic
998
1004
JSONPatches []JSONPatch `json:"jsonPatches"`
999
1005
}
1000
1006
@@ -1251,6 +1257,7 @@ type ClusterClassStatus struct {
1251
1257
1252
1258
// variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.
1253
1259
// +optional
1260
+ // +listType=atomic
1254
1261
// +kubebuilder:validation:MaxItems=1000
1255
1262
Variables []ClusterClassStatusVariable `json:"variables,omitempty"`
1256
1263
@@ -1296,8 +1303,9 @@ type ClusterClassStatusVariable struct {
1296
1303
DefinitionsConflict * bool `json:"definitionsConflict,omitempty"`
1297
1304
1298
1305
// definitions is a list of definitions for a variable.
1299
- // +kubebuilder:validation:MaxItems=100
1300
1306
// +required
1307
+ // +listType=atomic
1308
+ // +kubebuilder:validation:MaxItems=100
1301
1309
Definitions []ClusterClassStatusVariableDefinition `json:"definitions"`
1302
1310
}
1303
1311
0 commit comments