@@ -553,6 +553,10 @@ type LocalObjectTemplate struct {
553
553
554
554
// ClusterClassStatus defines the observed state of the ClusterClass.
555
555
type ClusterClassStatus struct {
556
+ // Variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.
557
+ // +optional
558
+ Variables []ClusterClassStatusVariable `json:"variables,omitempty"`
559
+
556
560
// Conditions defines current observed state of the ClusterClass.
557
561
// +optional
558
562
Conditions Conditions `json:"conditions,omitempty"`
@@ -562,6 +566,36 @@ type ClusterClassStatus struct {
562
566
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
563
567
}
564
568
569
+ // ClusterClassStatusVariable defines a variable which appears in the status of a ClusterClass.
570
+ type ClusterClassStatusVariable struct {
571
+ // Name is the name of the variable.
572
+ Name string `json:"name"`
573
+
574
+ // DefintionsConflict specifies whether or not there are conflicting definitions for a single variable name.
575
+ // +optional
576
+ DefintionsConflict bool `json:"defintionsConflict,omitempty"`
577
+
578
+ // Definitions is a list of definitions for a variable.
579
+ Definitions []ClusterClassStatusVariableDefinition `json:"definitions"`
580
+ }
581
+
582
+ // ClusterClassStatusVariableDefinition defines a variable which appears in the status of a ClusterClass.
583
+ type ClusterClassStatusVariableDefinition struct {
584
+ // From specifies the origin of the variable definition.
585
+ // This will be `inline` for variables defined in the ClusterClass or the name of a patch defined in the ClusterClass
586
+ // for variables discovered from a DiscoverVariables runtime extensions.
587
+ From string `json:"from"`
588
+
589
+ // Required specifies if the variable is required.
590
+ // Note: this applies to the variable as a whole and thus the
591
+ // top-level object defined in the schema. If nested fields are
592
+ // required, this will be specified inside the schema.
593
+ Required bool `json:"required"`
594
+
595
+ // Schema defines the schema of the variable.
596
+ Schema VariableSchema `json:"schema"`
597
+ }
598
+
565
599
// GetConditions returns the set of conditions for this object.
566
600
func (c * ClusterClass ) GetConditions () Conditions {
567
601
return c .Status .Conditions
0 commit comments