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  }