Last active
December 20, 2018 04:21
-
-
Save liangrog/8d87aacb24e152422a32d7609e31859e to your computer and use it in GitHub Desktop.
kce-pkg-apis-foo-v1-register
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package v1 | |
import ( | |
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |
"k8s.io/apimachinery/pkg/runtime" | |
"k8s.io/apimachinery/pkg/runtime/schema" | |
) | |
// Define your schema name and the version | |
var SchemeGroupVersion = schema.GroupVersion{ | |
Group: "foo.com", | |
Version: "v1", | |
} | |
var ( | |
SchemeBuilder runtime.SchemeBuilder | |
localSchemeBuilder = &SchemeBuilder | |
AddToScheme = localSchemeBuilder.AddToScheme | |
) | |
func init() { | |
// We only register manually written functions here. The registration of the | |
// generated functions takes place in the generated files. The separation | |
// makes the code compile even when the generated files are missing. | |
localSchemeBuilder.Register(addKnownTypes) | |
} | |
// Resource takes an unqualified resource and returns a Group qualified GroupResource | |
func Resource(resource string) schema.GroupResource { | |
return SchemeGroupVersion.WithResource(resource).GroupResource() | |
} | |
// Adds the list of known types to the given scheme. | |
func addKnownTypes(scheme *runtime.Scheme) error { | |
scheme.AddKnownTypes( | |
SchemeGroupVersion, | |
&HelloType{}, | |
&HelloTypeList{}, | |
) | |
scheme.AddKnownTypes( | |
SchemeGroupVersion, | |
&metav1.Status{}, | |
) | |
metav1.AddToGroupVersion( | |
scheme, | |
SchemeGroupVersion, | |
) | |
return nil | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment