github.com/verrazzano/verrazzano-monitoring-operator@v0.0.30/pkg/apis/vmcontroller/v1/register.go (about)

     1  // Copyright (C) 2020, Oracle and/or its affiliates.
     2  // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     3  
     4  package v1
     5  
     6  import (
     7  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     8  	"k8s.io/apimachinery/pkg/runtime"
     9  	"k8s.io/apimachinery/pkg/runtime/schema"
    10  
    11  	"github.com/verrazzano/verrazzano-monitoring-operator/pkg/apis/vmcontroller"
    12  )
    13  
    14  // SchemeGroupVersion is group version used to register these objects
    15  var SchemeGroupVersion = schema.GroupVersion{Group: vmcontroller.GroupName, Version: "v1"}
    16  
    17  // Kind takes an unqualified kind and returns back 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 is used to add go types to the GroupVersionKind scheme
    29  	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
    30  
    31  	// AddToScheme to add scheme from SchemaBuilder
    32  	AddToScheme = SchemeBuilder.AddToScheme
    33  )
    34  
    35  // Adds the list of known types to Scheme.
    36  func addKnownTypes(scheme *runtime.Scheme) error {
    37  	scheme.AddKnownTypes(SchemeGroupVersion,
    38  		&VerrazzanoMonitoringInstance{},
    39  		&VerrazzanoMonitoringInstanceList{},
    40  	)
    41  	metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
    42  	return nil
    43  }