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 }