github.com/ironcore-dev/gardener-extension-provider-ironcore@v0.3.2-0.20240314231816-8336447fb9a0/pkg/apis/ironcore/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 ironcore
     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.gardener.cloud"
    13  
    14  // SchemeGroupVersion is group version used to register these objects
    15  var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
    16  
    17  // Kind takes an unqualified kind and returns a Group qualified GroupKind
    18  func Kind(kind string) schema.GroupKind {
    19  	return SchemeGroupVersion.WithKind(kind).GroupKind()
    20  }
    21  
    22  // Resource takes an unqualified resource and returns a Group qualified GroupResource
    23  func Resource(resource string) schema.GroupResource {
    24  	return SchemeGroupVersion.WithResource(resource).GroupResource()
    25  }
    26  
    27  var (
    28  	// schemeBuilder used to register the Shoot resource.
    29  	schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
    30  	// AddToScheme is a pointer to schemeBuilder.AddToScheme.
    31  	AddToScheme = schemeBuilder.AddToScheme
    32  )
    33  
    34  // Adds the list of known types to api.Scheme.
    35  func addKnownTypes(scheme *runtime.Scheme) error {
    36  	scheme.AddKnownTypes(SchemeGroupVersion,
    37  		&CloudProfileConfig{},
    38  		&InfrastructureConfig{},
    39  		&InfrastructureStatus{},
    40  		&ControlPlaneConfig{},
    41  		&WorkerStatus{},
    42  	)
    43  	return nil
    44  }