diff --git a/apis/management.cattle.io/v3/global_types.go b/apis/management.cattle.io/v3/global_types.go index adb54706..ec564c91 100644 --- a/apis/management.cattle.io/v3/global_types.go +++ b/apis/management.cattle.io/v3/global_types.go @@ -14,6 +14,14 @@ type Setting struct { Source string `json:"source" norman:"nocreate,noupdate,options=db|default|env"` } +type Feature struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + Value *bool `json:"value" norman:"required"` + Default bool `json:"default" norman:"nocreate,noupdate"` +} + type ListenConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 89b3381a..c308b957 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -613,6 +613,12 @@ func globalTypes(schema *types.Schemas) *types.Schemas { f.Required = true return f }) + }). + MustImportAndCustomize(&Version, v3.Feature{}, func(schema *types.Schema) { + schema.MustCustomizeField("name", func(f types.Field) types.Field { + f.Required = true + return f + }) }) }