...
1
16
17 package polymorphichelpers
18
19 import (
20 "fmt"
21
22 appsv1 "k8s.io/api/apps/v1"
23 corev1 "k8s.io/api/core/v1"
24 extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
25 "k8s.io/apimachinery/pkg/runtime/schema"
26 )
27
28
29 func canBeExposed(kind schema.GroupKind) error {
30 switch kind {
31 case
32 corev1.SchemeGroupVersion.WithKind("ReplicationController").GroupKind(),
33 corev1.SchemeGroupVersion.WithKind("Service").GroupKind(),
34 corev1.SchemeGroupVersion.WithKind("Pod").GroupKind(),
35 appsv1.SchemeGroupVersion.WithKind("Deployment").GroupKind(),
36 appsv1.SchemeGroupVersion.WithKind("ReplicaSet").GroupKind(),
37 extensionsv1beta1.SchemeGroupVersion.WithKind("Deployment").GroupKind(),
38 extensionsv1beta1.SchemeGroupVersion.WithKind("ReplicaSet").GroupKind():
39
40 default:
41 return fmt.Errorf("cannot expose a %s", kind)
42 }
43 return nil
44 }
45
View as plain text