/
apiextensions.go
35 lines (30 loc) · 1.24 KB
/
apiextensions.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package resourceread
import (
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
)
var (
apiExtensionsScheme = runtime.NewScheme()
apiExtensionsCodecs = serializer.NewCodecFactory(apiExtensionsScheme)
)
func init() {
utilruntime.Must(apiextensionsv1beta1.AddToScheme(apiExtensionsScheme))
utilruntime.Must(apiextensionsv1.AddToScheme(apiExtensionsScheme))
}
func ReadCustomResourceDefinitionV1Beta1OrDie(objBytes []byte) *apiextensionsv1beta1.CustomResourceDefinition {
requiredObj, err := runtime.Decode(apiExtensionsCodecs.UniversalDecoder(apiextensionsv1beta1.SchemeGroupVersion), objBytes)
if err != nil {
panic(err)
}
return requiredObj.(*apiextensionsv1beta1.CustomResourceDefinition)
}
func ReadCustomResourceDefinitionV1OrDie(objBytes []byte) *apiextensionsv1.CustomResourceDefinition {
requiredObj, err := runtime.Decode(apiExtensionsCodecs.UniversalDecoder(apiextensionsv1.SchemeGroupVersion), objBytes)
if err != nil {
panic(err)
}
return requiredObj.(*apiextensionsv1.CustomResourceDefinition)
}