2021-03-24 13:27:29 +08:00
|
|
|
/*
|
|
|
|
Copyright 2021. The KubeVela Authors.
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
package v1beta1
|
|
|
|
|
|
|
|
import (
|
|
|
|
"reflect"
|
|
|
|
|
|
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
2022-12-27 10:18:01 +08:00
|
|
|
k8sscheme "k8s.io/client-go/kubernetes/scheme"
|
2021-03-24 13:27:29 +08:00
|
|
|
"sigs.k8s.io/controller-runtime/pkg/scheme"
|
2022-04-24 14:48:26 +08:00
|
|
|
|
|
|
|
"github.com/oam-dev/kubevela/apis/core.oam.dev/common"
|
2021-03-24 13:27:29 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
// Package type metadata.
|
|
|
|
const (
|
2022-04-24 14:48:26 +08:00
|
|
|
Group = common.Group
|
2021-03-24 13:27:29 +08:00
|
|
|
Version = "v1beta1"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
// SchemeGroupVersion is group version used to register these objects
|
|
|
|
SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}
|
|
|
|
|
|
|
|
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
|
|
|
|
SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
|
2021-09-09 09:28:31 +08:00
|
|
|
|
|
|
|
// AddToScheme is a global function that registers this API group & version to a scheme
|
|
|
|
AddToScheme = SchemeBuilder.AddToScheme
|
2021-03-24 13:27:29 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
// ComponentDefinition type metadata.
|
|
|
|
var (
|
|
|
|
ComponentDefinitionKind = reflect.TypeOf(ComponentDefinition{}).Name()
|
|
|
|
ComponentDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: ComponentDefinitionKind}.String()
|
|
|
|
ComponentDefinitionKindAPIVersion = ComponentDefinitionKind + "." + SchemeGroupVersion.String()
|
|
|
|
ComponentDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(ComponentDefinitionKind)
|
|
|
|
)
|
|
|
|
|
|
|
|
// WorkloadDefinition type metadata.
|
|
|
|
var (
|
|
|
|
WorkloadDefinitionKind = reflect.TypeOf(WorkloadDefinition{}).Name()
|
|
|
|
WorkloadDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: WorkloadDefinitionKind}.String()
|
|
|
|
WorkloadDefinitionKindAPIVersion = WorkloadDefinitionKind + "." + SchemeGroupVersion.String()
|
|
|
|
WorkloadDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(WorkloadDefinitionKind)
|
|
|
|
)
|
|
|
|
|
|
|
|
// TraitDefinition type metadata.
|
|
|
|
var (
|
|
|
|
TraitDefinitionKind = reflect.TypeOf(TraitDefinition{}).Name()
|
|
|
|
TraitDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: TraitDefinitionKind}.String()
|
|
|
|
TraitDefinitionKindAPIVersion = TraitDefinitionKind + "." + SchemeGroupVersion.String()
|
|
|
|
TraitDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(TraitDefinitionKind)
|
|
|
|
)
|
|
|
|
|
2021-05-28 12:12:39 +08:00
|
|
|
// PolicyDefinition type metadata.
|
|
|
|
var (
|
|
|
|
PolicyDefinitionKind = reflect.TypeOf(PolicyDefinition{}).Name()
|
|
|
|
PolicyDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: PolicyDefinitionKind}.String()
|
|
|
|
PolicyDefinitionKindAPIVersion = PolicyDefinitionKind + "." + SchemeGroupVersion.String()
|
|
|
|
PolicyDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(PolicyDefinitionKind)
|
|
|
|
)
|
|
|
|
|
|
|
|
// WorkflowStepDefinition type metadata.
|
|
|
|
var (
|
|
|
|
WorkflowStepDefinitionKind = reflect.TypeOf(WorkflowStepDefinition{}).Name()
|
|
|
|
WorkflowStepDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: WorkflowStepDefinitionKind}.String()
|
|
|
|
WorkflowStepDefinitionKindAPIVersion = WorkflowStepDefinitionKind + "." + SchemeGroupVersion.String()
|
|
|
|
WorkflowStepDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(WorkflowStepDefinitionKind)
|
|
|
|
)
|
|
|
|
|
2021-04-26 10:07:55 +08:00
|
|
|
// DefinitionRevision type metadata.
|
|
|
|
var (
|
|
|
|
DefinitionRevisionKind = reflect.TypeOf(DefinitionRevision{}).Name()
|
|
|
|
DefinitionRevisionGroupKind = schema.GroupKind{Group: Group, Kind: DefinitionRevisionKind}.String()
|
|
|
|
DefinitionRevisionKindAPIVersion = DefinitionRevisionKind + "." + SchemeGroupVersion.String()
|
|
|
|
DefinitionRevisionGroupVersionKind = SchemeGroupVersion.WithKind(DefinitionRevisionKind)
|
|
|
|
)
|
|
|
|
|
2021-03-24 13:27:29 +08:00
|
|
|
// Application type metadata.
|
|
|
|
var (
|
|
|
|
ApplicationKind = reflect.TypeOf(Application{}).Name()
|
|
|
|
ApplicationGroupKind = schema.GroupKind{Group: Group, Kind: ApplicationKind}.String()
|
|
|
|
ApplicationKindAPIVersion = ApplicationKind + "." + SchemeGroupVersion.String()
|
|
|
|
ApplicationKindVersionKind = SchemeGroupVersion.WithKind(ApplicationKind)
|
|
|
|
)
|
|
|
|
|
|
|
|
// ApplicationRevision type metadata
|
|
|
|
var (
|
|
|
|
ApplicationRevisionKind = reflect.TypeOf(ApplicationRevision{}).Name()
|
|
|
|
ApplicationRevisionGroupKind = schema.GroupKind{Group: Group, Kind: ApplicationRevisionKind}.String()
|
|
|
|
ApplicationRevisionKindAPIVersion = ApplicationRevisionKind + "." + SchemeGroupVersion.String()
|
|
|
|
ApplicationRevisionGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationRevisionKind)
|
|
|
|
)
|
|
|
|
|
2021-03-27 15:19:43 +08:00
|
|
|
// ResourceTracker type metadata.
|
|
|
|
var (
|
|
|
|
ResourceTrackerKind = reflect.TypeOf(ResourceTracker{}).Name()
|
|
|
|
ResourceTrackerGroupKind = schema.GroupKind{Group: Group, Kind: ResourceTrackerKind}.String()
|
|
|
|
ResourceTrackerKindAPIVersion = ResourceTrackerKind + "." + SchemeGroupVersion.String()
|
|
|
|
ResourceTrackerKindVersionKind = SchemeGroupVersion.WithKind(ResourceTrackerKind)
|
|
|
|
)
|
|
|
|
|
2021-03-24 13:27:29 +08:00
|
|
|
func init() {
|
|
|
|
SchemeBuilder.Register(&ComponentDefinition{}, &ComponentDefinitionList{})
|
|
|
|
SchemeBuilder.Register(&WorkloadDefinition{}, &WorkloadDefinitionList{})
|
|
|
|
SchemeBuilder.Register(&TraitDefinition{}, &TraitDefinitionList{})
|
2021-05-28 12:12:39 +08:00
|
|
|
SchemeBuilder.Register(&PolicyDefinition{}, &PolicyDefinitionList{})
|
|
|
|
SchemeBuilder.Register(&WorkflowStepDefinition{}, &WorkflowStepDefinitionList{})
|
2021-04-26 10:07:55 +08:00
|
|
|
SchemeBuilder.Register(&DefinitionRevision{}, &DefinitionRevisionList{})
|
2021-03-24 13:27:29 +08:00
|
|
|
SchemeBuilder.Register(&Application{}, &ApplicationList{})
|
|
|
|
SchemeBuilder.Register(&ApplicationRevision{}, &ApplicationRevisionList{})
|
2021-03-27 15:19:43 +08:00
|
|
|
SchemeBuilder.Register(&ResourceTracker{}, &ResourceTrackerList{})
|
2022-12-27 10:18:01 +08:00
|
|
|
_ = SchemeBuilder.AddToScheme(k8sscheme.Scheme)
|
2021-03-24 13:27:29 +08:00
|
|
|
}
|
2021-09-09 09:28:31 +08:00
|
|
|
|
|
|
|
// Resource takes an unqualified resource and returns a Group qualified GroupResource
|
|
|
|
func Resource(resource string) schema.GroupResource {
|
|
|
|
return SchemeGroupVersion.WithResource(resource).GroupResource()
|
|
|
|
}
|