11// WARNING: generated by kopium - manual changes will be overwritten
22// kopium command: kopium --schema=derived --derive=JsonSchema --derive=Default --derive=PartialEq --docs -f -
3- // kopium version: 0.20 .1
3+ // kopium version: 0.21 .1
44
55#[ allow( unused_imports) ]
66mod prelude {
@@ -26,13 +26,10 @@ pub struct GatewayClassSpec {
2626 /// ControllerName is the name of the controller that is managing Gateways of
2727 /// this class. The value of this field MUST be a domain prefixed path.
2828 ///
29- ///
3029 /// Example: "example.net/gateway-controller".
3130 ///
32- ///
3331 /// This field is not mutable and cannot be empty.
3432 ///
35- ///
3633 /// Support: Core
3734 #[ serde( rename = "controllerName" ) ]
3835 pub controller_name : String ,
@@ -43,21 +40,19 @@ pub struct GatewayClassSpec {
4340 /// parameters corresponding to the GatewayClass. This is optional if the
4441 /// controller does not require any additional configuration.
4542 ///
46- ///
4743 /// ParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,
4844 /// or an implementation-specific custom resource. The resource can be
4945 /// cluster-scoped or namespace-scoped.
5046 ///
51- ///
52- /// If the referent cannot be found , the GatewayClass's "InvalidParameters"
53- /// status condition will be true.
54- ///
47+ /// If the referent cannot be found, refers to an unsupported kind, or when
48+ /// the data within that resource is malformed , the GatewayClass SHOULD be
49+ /// rejected with the "Accepted" status condition set to "False" and an
50+ /// "InvalidParameters" reason.
5551 ///
5652 /// A Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,
5753 /// the merging behavior is implementation specific.
5854 /// It is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.
5955 ///
60- ///
6156 /// Support: Implementation-specific
6257 #[ serde(
6358 default ,
@@ -71,21 +66,19 @@ pub struct GatewayClassSpec {
7166/// parameters corresponding to the GatewayClass. This is optional if the
7267/// controller does not require any additional configuration.
7368///
74- ///
7569/// ParametersRef can reference a standard Kubernetes resource, i.e. ConfigMap,
7670/// or an implementation-specific custom resource. The resource can be
7771/// cluster-scoped or namespace-scoped.
7872///
79- ///
80- /// If the referent cannot be found , the GatewayClass's "InvalidParameters"
81- /// status condition will be true.
82- ///
73+ /// If the referent cannot be found, refers to an unsupported kind, or when
74+ /// the data within that resource is malformed , the GatewayClass SHOULD be
75+ /// rejected with the "Accepted" status condition set to "False" and an
76+ /// "InvalidParameters" reason.
8377///
8478/// A Gateway for this GatewayClass may provide its own `parametersRef`. When both are specified,
8579/// the merging behavior is implementation specific.
8680/// It is generally recommended that GatewayClass provides defaults that can be overridden by a Gateway.
8781///
88- ///
8982/// Support: Implementation-specific
9083#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
9184pub struct GatewayClassParametersRef {
@@ -104,26 +97,31 @@ pub struct GatewayClassParametersRef {
10497
10598/// Status defines the current state of GatewayClass.
10699///
107- ///
108100/// Implementations MUST populate status on all GatewayClass resources which
109101/// specify their controller name.
110102#[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
111103pub struct GatewayClassStatus {
112104 /// Conditions is the current status from the controller for
113105 /// this GatewayClass.
114106 ///
115- ///
116107 /// Controllers should prefer to publish conditions using values
117108 /// of GatewayClassConditionType for the type of each Condition.
118109 #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
119110 pub conditions : Option < Vec < Condition > > ,
120111 /// SupportedFeatures is the set of features the GatewayClass support.
121- /// It MUST be sorted in ascending alphabetical order.
112+ /// It MUST be sorted in ascending alphabetical order by the Name key .
122113 ///
123114 #[ serde(
124115 default ,
125116 skip_serializing_if = "Option::is_none" ,
126117 rename = "supportedFeatures"
127118 ) ]
128- pub supported_features : Option < Vec < String > > ,
119+ pub supported_features : Option < Vec < GatewayClassStatusSupportedFeatures > > ,
120+ }
121+
122+ #[ derive( Serialize , Deserialize , Clone , Debug , JsonSchema , Default , PartialEq ) ]
123+ pub struct GatewayClassStatusSupportedFeatures {
124+ /// FeatureName is used to describe distinct features that are covered by
125+ /// conformance tests.
126+ pub name : String ,
129127}
0 commit comments