mirror of https://github.com/docker/cli.git
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
|
package compose
|
||
|
|
||
|
import (
|
||
|
"k8s.io/apimachinery/pkg/runtime"
|
||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||
|
)
|
||
|
|
||
|
// GroupName is the group name used to register these objects
|
||
|
const GroupName = "compose.docker.com"
|
||
|
|
||
|
// SchemeGroupVersion is group version used to register these objects
|
||
|
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
|
||
|
|
||
|
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
|
||
|
func Kind(kind string) schema.GroupKind {
|
||
|
return SchemeGroupVersion.WithKind(kind).GroupKind()
|
||
|
}
|
||
|
|
||
|
// Resource takes an unqualified resource and returns back a Group qualified GroupResource
|
||
|
func Resource(resource string) schema.GroupResource {
|
||
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
||
|
}
|
||
|
|
||
|
var (
|
||
|
// SchemeBuilder collects functions that add things to a scheme. It's to allow
|
||
|
// code to compile without explicitly referencing generated types. You should
|
||
|
// declare one in each package that will have generated deep copy or conversion
|
||
|
// functions.
|
||
|
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
|
||
|
|
||
|
// AddToScheme applies all the stored functions to the scheme. A non-nil error
|
||
|
// indicates that one function failed and the attempt was abandoned.
|
||
|
AddToScheme = SchemeBuilder.AddToScheme
|
||
|
)
|
||
|
|
||
|
// adds the list of known types to api.Scheme.
|
||
|
func addKnownTypes(scheme *runtime.Scheme) error {
|
||
|
scheme.AddKnownTypes(SchemeGroupVersion,
|
||
|
&Stack{},
|
||
|
&StackList{},
|
||
|
)
|
||
|
return nil
|
||
|
}
|