...
1
16
17 package polymorphichelpers
18
19 import (
20 "errors"
21 "fmt"
22
23 appsv1 "k8s.io/api/apps/v1"
24 appsv1beta1 "k8s.io/api/apps/v1beta1"
25 appsv1beta2 "k8s.io/api/apps/v1beta2"
26 extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
27 "k8s.io/apimachinery/pkg/runtime"
28 "k8s.io/kubectl/pkg/scheme"
29 )
30
31 func defaultObjectResumer(obj runtime.Object) ([]byte, error) {
32 switch obj := obj.(type) {
33 case *extensionsv1beta1.Deployment:
34 if !obj.Spec.Paused {
35 return nil, errors.New("is not paused")
36 }
37 obj.Spec.Paused = false
38 return runtime.Encode(scheme.Codecs.LegacyCodec(extensionsv1beta1.SchemeGroupVersion), obj)
39
40 case *appsv1.Deployment:
41 if !obj.Spec.Paused {
42 return nil, errors.New("is not paused")
43 }
44 obj.Spec.Paused = false
45 return runtime.Encode(scheme.Codecs.LegacyCodec(appsv1.SchemeGroupVersion), obj)
46
47 case *appsv1beta2.Deployment:
48 if !obj.Spec.Paused {
49 return nil, errors.New("is not paused")
50 }
51 obj.Spec.Paused = false
52 return runtime.Encode(scheme.Codecs.LegacyCodec(appsv1beta2.SchemeGroupVersion), obj)
53
54 case *appsv1beta1.Deployment:
55 if !obj.Spec.Paused {
56 return nil, errors.New("is not paused")
57 }
58 obj.Spec.Paused = false
59 return runtime.Encode(scheme.Codecs.LegacyCodec(appsv1beta1.SchemeGroupVersion), obj)
60
61 default:
62 return nil, fmt.Errorf("resuming is not supported")
63 }
64 }
65
View as plain text