github.com/ironcore-dev/gardener-extension-provider-ironcore@v0.3.2-0.20240314231816-8336447fb9a0/pkg/apis/config/v1alpha1/register.go (about) 1 // SPDX-FileCopyrightText: 2022 SAP SE or an SAP affiliate company and IronCore contributors 2 // SPDX-License-Identifier: Apache-2.0 3 4 package v1alpha1 5 6 import ( 7 "k8s.io/apimachinery/pkg/runtime" 8 "k8s.io/apimachinery/pkg/runtime/schema" 9 ) 10 11 // GroupName is the group name use in this package 12 const GroupName = "ironcore.provider.extensions.config.gardener.cloud" 13 14 // SchemeGroupVersion is group version used to register these objects 15 var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} 16 17 // Resource takes an unqualified resource and returns a Group qualified GroupResource 18 func Resource(resource string) schema.GroupResource { 19 return SchemeGroupVersion.WithResource(resource).GroupResource() 20 } 21 22 var ( 23 // SchemeBuilder used to register the Shoot resource. 24 SchemeBuilder runtime.SchemeBuilder 25 localSchemeBuilder = &SchemeBuilder 26 // AddToScheme is a pointer to SchemeBuilder.AddToScheme. 27 AddToScheme = localSchemeBuilder.AddToScheme 28 ) 29 30 func init() { 31 // We only register manually written functions here. The registration of the 32 // generated functions takes place in the generated files. The separation 33 // makes the code compile even when the generated files are missing. 34 localSchemeBuilder.Register(addDefaultingFuncs, addKnownTypes) 35 } 36 37 // Adds the list of known types to api.Scheme. 38 func addKnownTypes(scheme *runtime.Scheme) error { 39 scheme.AddKnownTypes(SchemeGroupVersion, 40 &ControllerConfiguration{}, 41 ) 42 return nil 43 }