Update ingress godeps

This commit is contained in:
Manuel de Brito Fontes 2016-08-10 14:53:55 -04:00
parent d43021b3f1
commit 28db8fb16d
1068 changed files with 461467 additions and 117300 deletions

View file

@ -1,111 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package apps
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_apps_PetSet,
DeepCopy_apps_PetSetList,
DeepCopy_apps_PetSetSpec,
DeepCopy_apps_PetSetStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_apps_PetSet(in PetSet, out *PetSet, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_apps_PetSetSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_apps_PetSetStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_apps_PetSetList(in PetSetList, out *PetSetList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]PetSet, len(in))
for i := range in {
if err := DeepCopy_apps_PetSet(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_apps_PetSetSpec(in PetSetSpec, out *PetSetSpec, c *conversion.Cloner) error {
out.Replicas = in.Replicas
if in.Selector != nil {
in, out := in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := api.DeepCopy_api_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
if in.VolumeClaimTemplates != nil {
in, out := in.VolumeClaimTemplates, &out.VolumeClaimTemplates
*out = make([]api.PersistentVolumeClaim, len(in))
for i := range in {
if err := api.DeepCopy_api_PersistentVolumeClaim(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.VolumeClaimTemplates = nil
}
out.ServiceName = in.ServiceName
return nil
}
func DeepCopy_apps_PetSetStatus(in PetSetStatus, out *PetSetStatus, c *conversion.Cloner) error {
if in.ObservedGeneration != nil {
in, out := in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = *in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
}

View file

@ -110,7 +110,10 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
apps.AddToScheme(api.Scheme)
if err := apps.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -119,7 +122,10 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1alpha1.SchemeGroupVersion:
v1alpha1.AddToScheme(api.Scheme)
if err := v1alpha1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -22,10 +22,10 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
// GroupName is the group name use in this package
const GroupName = "apps"
@ -44,11 +44,12 @@ func Resource(resource string) unversioned.GroupResource {
}
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
// TODO this will get cleaned up with the scheme types are fixed
scheme.AddKnownTypes(SchemeGroupVersion,
&PetSet{},
&PetSetList{},
&api.ListOptions{},
)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -27,7 +27,7 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) {
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions to handle the *int32 -> int
// conversion. A pointer is useful in the versioned type so we can default
// it, but a plain int32 is more convenient in the internal type. These
@ -37,11 +37,10 @@ func addConversionFuncs(scheme *runtime.Scheme) {
Convert_apps_PetSetSpec_To_v1alpha1_PetSetSpec,
)
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
return err
}
err = api.Scheme.AddFieldLabelConversionFunc("apps/v1alpha1", "PetSet",
return api.Scheme.AddFieldLabelConversionFunc("apps/v1alpha1", "PetSet",
func(label, value string) (string, string, error) {
switch label {
case "metadata.name", "metadata.namespace", "status.successful":
@ -49,11 +48,8 @@ func addConversionFuncs(scheme *runtime.Scheme) {
default:
return "", "", fmt.Errorf("field label not supported: %s", label)
}
})
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
}
},
)
}
func Convert_v1alpha1_PetSetSpec_To_apps_PetSetSpec(in *PetSetSpec, out *apps.PetSetSpec, s conversion.Scope) error {

View file

@ -1,118 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1alpha1
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_PetSet,
DeepCopy_v1alpha1_PetSetList,
DeepCopy_v1alpha1_PetSetSpec,
DeepCopy_v1alpha1_PetSetStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1alpha1_PetSet(in PetSet, out *PetSet, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_PetSetSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_PetSetStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1alpha1_PetSetList(in PetSetList, out *PetSetList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]PetSet, len(in))
for i := range in {
if err := DeepCopy_v1alpha1_PetSet(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v1alpha1_PetSetSpec(in PetSetSpec, out *PetSetSpec, c *conversion.Cloner) error {
if in.Replicas != nil {
in, out := in.Replicas, &out.Replicas
*out = new(int32)
**out = *in
} else {
out.Replicas = nil
}
if in.Selector != nil {
in, out := in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.DeepCopy_v1_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
if in.VolumeClaimTemplates != nil {
in, out := in.VolumeClaimTemplates, &out.VolumeClaimTemplates
*out = make([]v1.PersistentVolumeClaim, len(in))
for i := range in {
if err := v1.DeepCopy_v1_PersistentVolumeClaim(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.VolumeClaimTemplates = nil
}
out.ServiceName = in.ServiceName
return nil
}
func DeepCopy_v1alpha1_PetSetStatus(in PetSetStatus, out *PetSetStatus, c *conversion.Cloner) error {
if in.ObservedGeneration != nil {
in, out := in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = *in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
}

View file

@ -21,8 +21,8 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs(
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs(
SetDefaults_PetSet,
)
}

View file

@ -39,6 +39,9 @@ import math "math"
import k8s_io_kubernetes_pkg_api_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1"
import strings "strings"
import reflect "reflect"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
@ -46,21 +49,25 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func (m *PetSet) Reset() { *m = PetSet{} }
func (m *PetSet) String() string { return proto.CompactTextString(m) }
func (*PetSet) ProtoMessage() {}
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1
func (m *PetSetList) Reset() { *m = PetSetList{} }
func (m *PetSetList) String() string { return proto.CompactTextString(m) }
func (*PetSetList) ProtoMessage() {}
func (m *PetSet) Reset() { *m = PetSet{} }
func (*PetSet) ProtoMessage() {}
func (*PetSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *PetSetSpec) Reset() { *m = PetSetSpec{} }
func (m *PetSetSpec) String() string { return proto.CompactTextString(m) }
func (*PetSetSpec) ProtoMessage() {}
func (m *PetSetList) Reset() { *m = PetSetList{} }
func (*PetSetList) ProtoMessage() {}
func (*PetSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *PetSetStatus) Reset() { *m = PetSetStatus{} }
func (m *PetSetStatus) String() string { return proto.CompactTextString(m) }
func (*PetSetStatus) ProtoMessage() {}
func (m *PetSetSpec) Reset() { *m = PetSetSpec{} }
func (*PetSetSpec) ProtoMessage() {}
func (*PetSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (m *PetSetStatus) Reset() { *m = PetSetStatus{} }
func (*PetSetStatus) ProtoMessage() {}
func (*PetSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func init() {
proto.RegisterType((*PetSet)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1alpha1.PetSet")
@ -330,6 +337,62 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *PetSet) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PetSet{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PetSetSpec", "PetSetSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "PetSetStatus", "PetSetStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *PetSetList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PetSetList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PetSet", "PetSet", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *PetSetSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PetSetSpec{`,
`Replicas:` + valueToStringGenerated(this.Replicas) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_api_unversioned.LabelSelector", 1) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`,
`VolumeClaimTemplates:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.VolumeClaimTemplates), "PersistentVolumeClaim", "k8s_io_kubernetes_pkg_api_v1.PersistentVolumeClaim", 1), `&`, ``, 1) + `,`,
`ServiceName:` + fmt.Sprintf("%v", this.ServiceName) + `,`,
`}`,
}, "")
return s
}
func (this *PetSetStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PetSetStatus{`,
`ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
`Replicas:` + fmt.Sprintf("%v", this.Replicas) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *PetSet) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
@ -967,3 +1030,46 @@ var (
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
)
var fileDescriptorGenerated = []byte{
// 611 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x6f, 0xd3, 0x4c,
0x10, 0xc6, 0xeb, 0xa6, 0xa9, 0xfc, 0x6e, 0xf3, 0x22, 0xb4, 0x54, 0x28, 0x8a, 0x50, 0x8a, 0x72,
0x8a, 0x50, 0xb3, 0x26, 0x85, 0xa2, 0x9e, 0x8d, 0x04, 0x42, 0x02, 0x5a, 0x39, 0x10, 0x21, 0x10,
0x48, 0x6b, 0x67, 0x48, 0x97, 0xd8, 0x5e, 0xcb, 0xbb, 0xce, 0x99, 0x03, 0xdc, 0x39, 0xf3, 0x31,
0xf8, 0x08, 0x9c, 0x72, 0xec, 0x91, 0x53, 0x05, 0xe5, 0x8b, 0xb0, 0x5e, 0xff, 0x49, 0xa8, 0x93,
0x96, 0x1e, 0x36, 0xca, 0xee, 0xce, 0xf3, 0xdb, 0x99, 0x67, 0xc6, 0xe8, 0x60, 0x72, 0x20, 0x08,
0xe3, 0xd6, 0x24, 0x71, 0x21, 0x0e, 0x41, 0x82, 0xb0, 0xa2, 0xc9, 0xd8, 0xa2, 0x11, 0x13, 0xea,
0x27, 0x12, 0xd6, 0xb4, 0x4f, 0xfd, 0xe8, 0x98, 0xf6, 0xad, 0x31, 0x84, 0x10, 0x53, 0x09, 0x23,
0x12, 0xc5, 0x5c, 0x72, 0xdc, 0xcd, 0x94, 0x64, 0xae, 0x24, 0x4a, 0x49, 0x52, 0x25, 0x49, 0x95,
0xa4, 0x50, 0xb6, 0x7a, 0x63, 0x26, 0x8f, 0x13, 0x97, 0x78, 0x3c, 0xb0, 0xc6, 0x7c, 0xcc, 0x2d,
0x0d, 0x70, 0x93, 0xf7, 0x7a, 0xa7, 0x37, 0xfa, 0x5f, 0x06, 0x6e, 0xed, 0xad, 0x4c, 0xc9, 0x8a,
0x41, 0xf0, 0x24, 0xf6, 0xe0, 0x7c, 0x32, 0xad, 0xfd, 0xd5, 0x9a, 0x24, 0x9c, 0x42, 0x2c, 0x18,
0x0f, 0x61, 0x54, 0x91, 0xed, 0xae, 0x96, 0x4d, 0x2b, 0x15, 0xb7, 0x7a, 0xcb, 0xa3, 0xe3, 0x24,
0x94, 0x2c, 0xa8, 0xe6, 0xd4, 0x5f, 0x1e, 0x9e, 0x48, 0xe6, 0x5b, 0x2c, 0x94, 0x42, 0xc6, 0xe7,
0x25, 0x9d, 0xaf, 0xeb, 0x68, 0xf3, 0x08, 0xe4, 0x00, 0x24, 0x7e, 0x85, 0xcc, 0x00, 0x24, 0x1d,
0x51, 0x49, 0x9b, 0xc6, 0x6d, 0xa3, 0xbb, 0xb5, 0xd7, 0x25, 0x2b, 0x1d, 0x57, 0x5e, 0x93, 0x43,
0xf7, 0x03, 0x78, 0xf2, 0x99, 0xd2, 0xd8, 0x78, 0x76, 0xba, 0xb3, 0x76, 0x76, 0xba, 0x83, 0xe6,
0x67, 0x4e, 0x49, 0xc3, 0x43, 0xb4, 0x21, 0x22, 0xf0, 0x9a, 0xeb, 0x9a, 0x7a, 0x9f, 0xfc, 0x6b,
0x1f, 0x49, 0x96, 0xd9, 0x40, 0x69, 0xed, 0x46, 0xfe, 0xc2, 0x46, 0xba, 0x73, 0x34, 0x0f, 0xbf,
0x43, 0x9b, 0x42, 0x52, 0x99, 0x88, 0x66, 0x4d, 0x93, 0x1f, 0x5c, 0x99, 0xac, 0xd5, 0xf6, 0xb5,
0x9c, 0xbd, 0x99, 0xed, 0x9d, 0x9c, 0xda, 0xf9, 0x6e, 0x20, 0x94, 0x05, 0x3e, 0x65, 0x42, 0xe2,
0xb7, 0x15, 0x83, 0xac, 0x0b, 0x0c, 0x5a, 0x98, 0x02, 0x92, 0xca, 0xb5, 0x4f, 0xd7, 0xf3, 0x97,
0xcc, 0xe2, 0x64, 0xc1, 0xa5, 0x97, 0xa8, 0xce, 0x24, 0x04, 0x42, 0xd9, 0x54, 0x53, 0xec, 0xbb,
0x57, 0x2d, 0xc6, 0xfe, 0x3f, 0x87, 0xd7, 0x9f, 0xa4, 0x18, 0x27, 0xa3, 0x75, 0xbe, 0xd5, 0x8a,
0x22, 0x52, 0xe7, 0x70, 0x17, 0x99, 0x31, 0x44, 0x3e, 0xf3, 0xa8, 0xd0, 0x45, 0xd4, 0xed, 0x46,
0x9a, 0x8f, 0x93, 0x9f, 0x39, 0xe5, 0xad, 0x72, 0xd7, 0x14, 0xe0, 0xab, 0x6e, 0xf2, 0xf8, 0xf2,
0xce, 0xfd, 0x5d, 0x2e, 0x75, 0xc1, 0x1f, 0xe4, 0xda, 0x8c, 0x5f, 0xec, 0x9c, 0x92, 0x89, 0xdf,
0x20, 0x53, 0x25, 0x18, 0xf9, 0x6a, 0x1a, 0xf3, 0xfe, 0xf5, 0x2e, 0x9e, 0xb7, 0x23, 0x3e, 0x7a,
0x91, 0x0b, 0xf4, 0x48, 0x94, 0x66, 0x16, 0xa7, 0x4e, 0x09, 0xc4, 0x9f, 0x0d, 0xb4, 0x3d, 0xe5,
0x7e, 0x12, 0xc0, 0x43, 0x9f, 0xb2, 0xa0, 0x88, 0x10, 0xcd, 0x0d, 0x6d, 0xee, 0xbd, 0x4b, 0x5e,
0x4a, 0x4b, 0x11, 0x12, 0x42, 0x39, 0x9c, 0x33, 0xec, 0x5b, 0xf9, 0x7b, 0xdb, 0xc3, 0x25, 0x60,
0x67, 0xe9, 0x73, 0x78, 0x1f, 0x6d, 0x09, 0x88, 0xa7, 0xcc, 0x83, 0xe7, 0x34, 0x80, 0x66, 0x5d,
0xd5, 0xf9, 0x9f, 0x7d, 0x23, 0x07, 0x6d, 0x0d, 0xe6, 0x57, 0xce, 0x62, 0x5c, 0xe7, 0x93, 0x81,
0x1a, 0x8b, 0x23, 0x8a, 0x1f, 0x21, 0xcc, 0xdd, 0x34, 0x02, 0x46, 0x8f, 0xb3, 0x4f, 0x58, 0x59,
0xad, 0x1b, 0x58, 0xb3, 0x6f, 0x2a, 0x14, 0x3e, 0xac, 0xdc, 0x3a, 0x4b, 0x14, 0x78, 0x77, 0xa1,
0xfd, 0xeb, 0xba, 0xfd, 0xa5, 0x8b, 0xd5, 0x11, 0xb0, 0xef, 0xcc, 0x7e, 0xb5, 0xd7, 0x4e, 0xd4,
0xfa, 0xa1, 0xd6, 0xc7, 0xb3, 0xb6, 0x31, 0x53, 0xeb, 0x44, 0xad, 0x9f, 0x6a, 0x7d, 0xf9, 0xdd,
0x5e, 0x7b, 0x6d, 0x16, 0x43, 0xf8, 0x27, 0x00, 0x00, 0xff, 0xff, 0x14, 0xcf, 0x45, 0x01, 0xd8,
0x05, 0x00, 0x00,
}

View file

@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.apps.v1alpha1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".

View file

@ -29,14 +29,13 @@ const GroupName = "apps"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1alpha1"}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&PetSet{},
&PetSetList{},
@ -44,6 +43,7 @@ func addKnownTypes(scheme *runtime.Scheme) {
&v1.DeleteOptions{},
)
versionedwatch.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}
func (obj *PetSet) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }

File diff suppressed because it is too large Load diff

View file

@ -24,10 +24,17 @@ import (
api "k8s.io/kubernetes/pkg/api"
apps "k8s.io/kubernetes/pkg/apis/apps"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1alpha1_PetSet_To_apps_PetSet,
Convert_apps_PetSet_To_v1alpha1_PetSet,
Convert_v1alpha1_PetSetList_To_apps_PetSetList,
@ -36,10 +43,7 @@ func init() {
Convert_apps_PetSetSpec_To_v1alpha1_PetSetSpec,
Convert_v1alpha1_PetSetStatus_To_apps_PetSetStatus,
Convert_apps_PetSetStatus_To_v1alpha1_PetSetStatus,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
)
}
func autoConvert_v1alpha1_PetSet_To_apps_PetSet(in *PetSet, out *apps.PetSet, s conversion.Scope) error {

View file

@ -0,0 +1,138 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1alpha1
import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSet, InType: reflect.TypeOf(&PetSet{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetList, InType: reflect.TypeOf(&PetSetList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetSpec, InType: reflect.TypeOf(&PetSetSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetStatus, InType: reflect.TypeOf(&PetSetStatus{})},
)
}
func DeepCopy_v1alpha1_PetSet(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSet)
out := out.(*PetSet)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_PetSetSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_PetSetStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v1alpha1_PetSetList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetList)
out := out.(*PetSetList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]PetSet, len(*in))
for i := range *in {
if err := DeepCopy_v1alpha1_PetSet(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_v1alpha1_PetSetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetSpec)
out := out.(*PetSetSpec)
if in.Replicas != nil {
in, out := &in.Replicas, &out.Replicas
*out = new(int32)
**out = **in
} else {
out.Replicas = nil
}
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
if in.VolumeClaimTemplates != nil {
in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
*out = make([]v1.PersistentVolumeClaim, len(*in))
for i := range *in {
if err := v1.DeepCopy_v1_PersistentVolumeClaim(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.VolumeClaimTemplates = nil
}
out.ServiceName = in.ServiceName
return nil
}
}
func DeepCopy_v1alpha1_PetSetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetStatus)
out := out.(*PetSetStatus)
if in.ObservedGeneration != nil {
in, out := &in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
}
}

View file

@ -0,0 +1,132 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package apps
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSet, InType: reflect.TypeOf(&PetSet{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetList, InType: reflect.TypeOf(&PetSetList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetSpec, InType: reflect.TypeOf(&PetSetSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetStatus, InType: reflect.TypeOf(&PetSetStatus{})},
)
}
func DeepCopy_apps_PetSet(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSet)
out := out.(*PetSet)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_apps_PetSetSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_apps_PetSetStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_apps_PetSetList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetList)
out := out.(*PetSetList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]PetSet, len(*in))
for i := range *in {
if err := DeepCopy_apps_PetSet(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_apps_PetSetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetSpec)
out := out.(*PetSetSpec)
out.Replicas = in.Replicas
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
if in.VolumeClaimTemplates != nil {
in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
*out = make([]api.PersistentVolumeClaim, len(*in))
for i := range *in {
if err := api.DeepCopy_api_PersistentVolumeClaim(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.VolumeClaimTemplates = nil
}
out.ServiceName = in.ServiceName
return nil
}
}
func DeepCopy_apps_PetSetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*PetSetStatus)
out := out.(*PetSetStatus)
if in.ObservedGeneration != nil {
in, out := &in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
}
}

View file

@ -1,86 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package authentication
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_authenticationk8sio_TokenReview,
DeepCopy_authenticationk8sio_TokenReviewSpec,
DeepCopy_authenticationk8sio_TokenReviewStatus,
DeepCopy_authenticationk8sio_UserInfo,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_authenticationk8sio_TokenReview(in TokenReview, out *TokenReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.Spec = in.Spec
if err := DeepCopy_authenticationk8sio_TokenReviewStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_authenticationk8sio_TokenReviewSpec(in TokenReviewSpec, out *TokenReviewSpec, c *conversion.Cloner) error {
out.Token = in.Token
return nil
}
func DeepCopy_authenticationk8sio_TokenReviewStatus(in TokenReviewStatus, out *TokenReviewStatus, c *conversion.Cloner) error {
out.Authenticated = in.Authenticated
if err := DeepCopy_authenticationk8sio_UserInfo(in.User, &out.User, c); err != nil {
return err
}
return nil
}
func DeepCopy_authenticationk8sio_UserInfo(in UserInfo, out *UserInfo, c *conversion.Cloner) error {
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := in.Extra, &out.Extra
*out = make(map[string][]string)
for key, val := range in {
if newVal, err := c.DeepCopy(val); err != nil {
return err
} else {
(*out)[key] = newVal.([]string)
}
}
} else {
out.Extra = nil
}
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -1,143 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by conversion-gen. Do not edit it manually!
package v1beta1
import (
api "k8s.io/kubernetes/pkg/api"
authentication_k8s_io "k8s.io/kubernetes/pkg/apis/authentication.k8s.io"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
Convert_v1beta1_TokenReview_To_authenticationk8sio_TokenReview,
Convert_authenticationk8sio_TokenReview_To_v1beta1_TokenReview,
Convert_v1beta1_TokenReviewSpec_To_authenticationk8sio_TokenReviewSpec,
Convert_authenticationk8sio_TokenReviewSpec_To_v1beta1_TokenReviewSpec,
Convert_v1beta1_TokenReviewStatus_To_authenticationk8sio_TokenReviewStatus,
Convert_authenticationk8sio_TokenReviewStatus_To_v1beta1_TokenReviewStatus,
Convert_v1beta1_UserInfo_To_authenticationk8sio_UserInfo,
Convert_authenticationk8sio_UserInfo_To_v1beta1_UserInfo,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
}
func autoConvert_v1beta1_TokenReview_To_authenticationk8sio_TokenReview(in *TokenReview, out *authentication_k8s_io.TokenReview, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
if err := Convert_v1beta1_TokenReviewSpec_To_authenticationk8sio_TokenReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
if err := Convert_v1beta1_TokenReviewStatus_To_authenticationk8sio_TokenReviewStatus(&in.Status, &out.Status, s); err != nil {
return err
}
return nil
}
func Convert_v1beta1_TokenReview_To_authenticationk8sio_TokenReview(in *TokenReview, out *authentication_k8s_io.TokenReview, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReview_To_authenticationk8sio_TokenReview(in, out, s)
}
func autoConvert_authenticationk8sio_TokenReview_To_v1beta1_TokenReview(in *authentication_k8s_io.TokenReview, out *TokenReview, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
if err := Convert_authenticationk8sio_TokenReviewSpec_To_v1beta1_TokenReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
if err := Convert_authenticationk8sio_TokenReviewStatus_To_v1beta1_TokenReviewStatus(&in.Status, &out.Status, s); err != nil {
return err
}
return nil
}
func Convert_authenticationk8sio_TokenReview_To_v1beta1_TokenReview(in *authentication_k8s_io.TokenReview, out *TokenReview, s conversion.Scope) error {
return autoConvert_authenticationk8sio_TokenReview_To_v1beta1_TokenReview(in, out, s)
}
func autoConvert_v1beta1_TokenReviewSpec_To_authenticationk8sio_TokenReviewSpec(in *TokenReviewSpec, out *authentication_k8s_io.TokenReviewSpec, s conversion.Scope) error {
out.Token = in.Token
return nil
}
func Convert_v1beta1_TokenReviewSpec_To_authenticationk8sio_TokenReviewSpec(in *TokenReviewSpec, out *authentication_k8s_io.TokenReviewSpec, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReviewSpec_To_authenticationk8sio_TokenReviewSpec(in, out, s)
}
func autoConvert_authenticationk8sio_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in *authentication_k8s_io.TokenReviewSpec, out *TokenReviewSpec, s conversion.Scope) error {
out.Token = in.Token
return nil
}
func Convert_authenticationk8sio_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in *authentication_k8s_io.TokenReviewSpec, out *TokenReviewSpec, s conversion.Scope) error {
return autoConvert_authenticationk8sio_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in, out, s)
}
func autoConvert_v1beta1_TokenReviewStatus_To_authenticationk8sio_TokenReviewStatus(in *TokenReviewStatus, out *authentication_k8s_io.TokenReviewStatus, s conversion.Scope) error {
out.Authenticated = in.Authenticated
if err := Convert_v1beta1_UserInfo_To_authenticationk8sio_UserInfo(&in.User, &out.User, s); err != nil {
return err
}
return nil
}
func Convert_v1beta1_TokenReviewStatus_To_authenticationk8sio_TokenReviewStatus(in *TokenReviewStatus, out *authentication_k8s_io.TokenReviewStatus, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReviewStatus_To_authenticationk8sio_TokenReviewStatus(in, out, s)
}
func autoConvert_authenticationk8sio_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in *authentication_k8s_io.TokenReviewStatus, out *TokenReviewStatus, s conversion.Scope) error {
out.Authenticated = in.Authenticated
if err := Convert_authenticationk8sio_UserInfo_To_v1beta1_UserInfo(&in.User, &out.User, s); err != nil {
return err
}
return nil
}
func Convert_authenticationk8sio_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in *authentication_k8s_io.TokenReviewStatus, out *TokenReviewStatus, s conversion.Scope) error {
return autoConvert_authenticationk8sio_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in, out, s)
}
func autoConvert_v1beta1_UserInfo_To_authenticationk8sio_UserInfo(in *UserInfo, out *authentication_k8s_io.UserInfo, s conversion.Scope) error {
out.Username = in.Username
out.UID = in.UID
out.Groups = in.Groups
out.Extra = in.Extra
return nil
}
func Convert_v1beta1_UserInfo_To_authenticationk8sio_UserInfo(in *UserInfo, out *authentication_k8s_io.UserInfo, s conversion.Scope) error {
return autoConvert_v1beta1_UserInfo_To_authenticationk8sio_UserInfo(in, out, s)
}
func autoConvert_authenticationk8sio_UserInfo_To_v1beta1_UserInfo(in *authentication_k8s_io.UserInfo, out *UserInfo, s conversion.Scope) error {
out.Username = in.Username
out.UID = in.UID
out.Groups = in.Groups
out.Extra = in.Extra
return nil
}
func Convert_authenticationk8sio_UserInfo_To_v1beta1_UserInfo(in *authentication_k8s_io.UserInfo, out *UserInfo, s conversion.Scope) error {
return autoConvert_authenticationk8sio_UserInfo_To_v1beta1_UserInfo(in, out, s)
}

View file

@ -1,86 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1beta1
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1beta1_TokenReview,
DeepCopy_v1beta1_TokenReviewSpec,
DeepCopy_v1beta1_TokenReviewStatus,
DeepCopy_v1beta1_UserInfo,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1beta1_TokenReview(in TokenReview, out *TokenReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.Spec = in.Spec
if err := DeepCopy_v1beta1_TokenReviewStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1beta1_TokenReviewSpec(in TokenReviewSpec, out *TokenReviewSpec, c *conversion.Cloner) error {
out.Token = in.Token
return nil
}
func DeepCopy_v1beta1_TokenReviewStatus(in TokenReviewStatus, out *TokenReviewStatus, c *conversion.Cloner) error {
out.Authenticated = in.Authenticated
if err := DeepCopy_v1beta1_UserInfo(in.User, &out.User, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1beta1_UserInfo(in UserInfo, out *UserInfo, c *conversion.Cloner) error {
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := in.Extra, &out.Extra
*out = make(map[string][]string)
for key, val := range in {
if newVal, err := c.DeepCopy(val); err != nil {
return err
} else {
(*out)[key] = newVal.([]string)
}
}
} else {
out.Extra = nil
}
return nil
}

View file

@ -15,5 +15,5 @@ limitations under the License.
*/
// +k8s:deepcopy-gen=package,register
// +groupName=authentication.k8s.io
package authentication

View file

@ -28,13 +28,13 @@ import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apimachinery"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apis/authentication.k8s.io"
"k8s.io/kubernetes/pkg/apis/authentication.k8s.io/v1beta1"
"k8s.io/kubernetes/pkg/apis/authentication"
"k8s.io/kubernetes/pkg/apis/authentication/v1beta1"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/sets"
)
const importPrefix = "k8s.io/kubernetes/pkg/apis/authentication.k8s.io"
const importPrefix = "k8s.io/kubernetes/pkg/apis/authentication"
var accessor = meta.NewAccessor()
@ -89,7 +89,10 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error {
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
authentication.AddToScheme(api.Scheme)
if err := authentication.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -98,7 +101,10 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1beta1.SchemeGroupVersion:
v1beta1.AddToScheme(api.Scheme)
if err := v1beta1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -17,6 +17,7 @@ limitations under the License.
package authentication
import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
)
@ -37,14 +38,18 @@ func Resource(resource string) unversioned.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&api.ListOptions{},
&api.DeleteOptions{},
&api.ExportOptions{},
&TokenReview{},
)
return nil
}
func (obj *TokenReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }

File diff suppressed because it is too large Load diff

View file

@ -17,12 +17,35 @@ limitations under the License.
package authentication
import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
)
const (
// ImpersonateUserHeader is used to impersonate a particular user during an API server request
ImpersonateUserHeader = "Impersonate-User"
// ImpersonateGroupHeader is used to impersonate a particular group during an API server request.
// It can be repeated multipled times for multiple groups.
ImpersonateGroupHeader = "Impersonate-Group"
// ImpersonateUserExtraHeaderPrefix is a prefix for any header used to impersonate an entry in the
// extra map[string][]string for user.Info. The key will be every after the prefix.
// It can be repeated multipled times for multiple map keys and the same key can be repeated multiple
// times to have multiple elements in the slice under a single key
ImpersonateUserExtraHeaderPrefix = "Impersonate-Extra-"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// TokenReview attempts to authenticate a token to a known user.
type TokenReview struct {
unversioned.TypeMeta
// ObjectMeta fulfills the meta.ObjectMetaAccessor interface so that the stock
// REST handler paths work
api.ObjectMeta
// Spec holds information about the request being evaluated
Spec TokenReviewSpec
@ -38,11 +61,14 @@ type TokenReviewSpec struct {
}
// TokenReviewStatus is the result of the token authentication request.
// This type mirrors the authentication.Token interface
type TokenReviewStatus struct {
// Authenticated indicates that the token was associated with a known user.
Authenticated bool
// User is the UserInfo associated with the provided token.
User UserInfo
// Error indicates that the token couldn't be checked
Error string
}
// UserInfo holds the information about the user needed to implement the
@ -57,5 +83,8 @@ type UserInfo struct {
// The names of groups this user is a part of.
Groups []string
// Any additional information provided by the authenticator.
Extra map[string][]string
Extra map[string]ExtraValue
}
// ExtraValue masks the value so protobuf can generate
type ExtraValue []string

View file

@ -20,11 +20,7 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) {
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions
err := scheme.AddConversionFuncs()
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
}
return scheme.AddConversionFuncs()
}

View file

@ -20,6 +20,6 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs()
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs()
}

View file

@ -15,6 +15,6 @@ limitations under the License.
*/
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authentication.k8s.io
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authentication
// +groupName=authentication.k8s.io
package v1beta1

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,90 @@
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
syntax = 'proto2';
package k8s.io.kubernetes.pkg.apis.authentication.v1beta1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "v1beta1";
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
message ExtraValue {
// items, if empty, will result in an empty slice
repeated string items = 1;
}
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
message TokenReview {
optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
// Spec holds information about the request being evaluated
optional TokenReviewSpec spec = 2;
// Status is filled in by the server and indicates whether the request can be authenticated.
optional TokenReviewStatus status = 3;
}
// TokenReviewSpec is a description of the token authentication request.
message TokenReviewSpec {
// Token is the opaque bearer token.
optional string token = 1;
}
// TokenReviewStatus is the result of the token authentication request.
message TokenReviewStatus {
// Authenticated indicates that the token was associated with a known user.
optional bool authenticated = 1;
// User is the UserInfo associated with the provided token.
optional UserInfo user = 2;
// Error indicates that the token couldn't be checked
optional string error = 3;
}
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
message UserInfo {
// The name that uniquely identifies this user among all active users.
optional string username = 1;
// A unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
optional string uid = 2;
// The names of groups this user is a part of.
repeated string groups = 3;
// Any additional information provided by the authenticator.
map<string, ExtraValue> extra = 4;
}

View file

@ -18,6 +18,7 @@ package v1beta1
import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/runtime"
)
@ -27,18 +28,19 @@ const GroupName = "authentication.k8s.io"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"}
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&v1.ListOptions{},
&v1.DeleteOptions{},
&v1.ExportOptions{},
&TokenReview{},
)
return nil
}
func (obj *TokenReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }

View file

@ -17,47 +17,66 @@ limitations under the License.
package v1beta1
import (
"fmt"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// TokenReview attempts to authenticate a token to a known user.
// Note: TokenReview requests may be cached by the webhook token authenticator
// plugin in the kube-apiserver.
type TokenReview struct {
unversioned.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec holds information about the request being evaluated
Spec TokenReviewSpec `json:"spec"`
Spec TokenReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
// Status is filled in by the server and indicates whether the request can be authenticated.
Status TokenReviewStatus `json:"status,omitempty"`
Status TokenReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// TokenReviewSpec is a description of the token authentication request.
type TokenReviewSpec struct {
// Token is the opaque bearer token.
Token string `json:"token,omitempty"`
Token string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}
// TokenReviewStatus is the result of the token authentication request.
type TokenReviewStatus struct {
// Authenticated indicates that the token was associated with a known user.
Authenticated bool `json:"authenticated,omitempty"`
Authenticated bool `json:"authenticated,omitempty" protobuf:"varint,1,opt,name=authenticated"`
// User is the UserInfo associated with the provided token.
User UserInfo `json:"user,omitempty"`
User UserInfo `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"`
// Error indicates that the token couldn't be checked
Error string `json:"error,omitempty" protobuf:"bytes,3,opt,name=error"`
}
// UserInfo holds the information about the user needed to implement the
// user.Info interface.
type UserInfo struct {
// The name that uniquely identifies this user among all active users.
Username string `json:"username,omitempty"`
Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
// A unique value that identifies this user across time. If this user is
// deleted and another user by the same name is added, they will have
// different UIDs.
UID string `json:"uid,omitempty"`
UID string `json:"uid,omitempty" protobuf:"bytes,2,opt,name=uid"`
// The names of groups this user is a part of.
Groups []string `json:"groups,omitempty"`
Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"`
// Any additional information provided by the authenticator.
Extra map[string][]string `json:"extra,omitempty"`
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,4,rep,name=extra"`
}
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
type ExtraValue []string
func (t ExtraValue) String() string {
return fmt.Sprintf("%v", []string(t))
}

View file

@ -0,0 +1,72 @@
/*
Copyright 2016 The Kubernetes 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
// This file contains a collection of methods that can be used from go-restful to
// generate Swagger API documentation for its models. Please read this PR for more
// information on the implementation: https://github.com/emicklei/go-restful/pull/215
//
// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if
// they are on one line! For multiple line or blocks that you want to ignore use ---.
// Any context after a --- is ignored.
//
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
// AUTO-GENERATED FUNCTIONS START HERE
var map_TokenReview = map[string]string{
"": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.",
"spec": "Spec holds information about the request being evaluated",
"status": "Status is filled in by the server and indicates whether the request can be authenticated.",
}
func (TokenReview) SwaggerDoc() map[string]string {
return map_TokenReview
}
var map_TokenReviewSpec = map[string]string{
"": "TokenReviewSpec is a description of the token authentication request.",
"token": "Token is the opaque bearer token.",
}
func (TokenReviewSpec) SwaggerDoc() map[string]string {
return map_TokenReviewSpec
}
var map_TokenReviewStatus = map[string]string{
"": "TokenReviewStatus is the result of the token authentication request.",
"authenticated": "Authenticated indicates that the token was associated with a known user.",
"user": "User is the UserInfo associated with the provided token.",
"error": "Error indicates that the token couldn't be checked",
}
func (TokenReviewStatus) SwaggerDoc() map[string]string {
return map_TokenReviewStatus
}
var map_UserInfo = map[string]string{
"": "UserInfo holds the information about the user needed to implement the user.Info interface.",
"username": "The name that uniquely identifies this user among all active users.",
"uid": "A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.",
"groups": "The names of groups this user is a part of.",
"extra": "Any additional information provided by the authenticator.",
}
func (UserInfo) SwaggerDoc() map[string]string {
return map_UserInfo
}
// AUTO-GENERATED FUNCTIONS END HERE

View file

@ -0,0 +1,183 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by conversion-gen. Do not edit it manually!
package v1beta1
import (
api "k8s.io/kubernetes/pkg/api"
authentication "k8s.io/kubernetes/pkg/apis/authentication"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1beta1_TokenReview_To_authentication_TokenReview,
Convert_authentication_TokenReview_To_v1beta1_TokenReview,
Convert_v1beta1_TokenReviewSpec_To_authentication_TokenReviewSpec,
Convert_authentication_TokenReviewSpec_To_v1beta1_TokenReviewSpec,
Convert_v1beta1_TokenReviewStatus_To_authentication_TokenReviewStatus,
Convert_authentication_TokenReviewStatus_To_v1beta1_TokenReviewStatus,
Convert_v1beta1_UserInfo_To_authentication_UserInfo,
Convert_authentication_UserInfo_To_v1beta1_UserInfo,
)
}
func autoConvert_v1beta1_TokenReview_To_authentication_TokenReview(in *TokenReview, out *authentication.TokenReview, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_v1beta1_TokenReviewSpec_To_authentication_TokenReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
if err := Convert_v1beta1_TokenReviewStatus_To_authentication_TokenReviewStatus(&in.Status, &out.Status, s); err != nil {
return err
}
return nil
}
func Convert_v1beta1_TokenReview_To_authentication_TokenReview(in *TokenReview, out *authentication.TokenReview, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReview_To_authentication_TokenReview(in, out, s)
}
func autoConvert_authentication_TokenReview_To_v1beta1_TokenReview(in *authentication.TokenReview, out *TokenReview, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_authentication_TokenReviewSpec_To_v1beta1_TokenReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
if err := Convert_authentication_TokenReviewStatus_To_v1beta1_TokenReviewStatus(&in.Status, &out.Status, s); err != nil {
return err
}
return nil
}
func Convert_authentication_TokenReview_To_v1beta1_TokenReview(in *authentication.TokenReview, out *TokenReview, s conversion.Scope) error {
return autoConvert_authentication_TokenReview_To_v1beta1_TokenReview(in, out, s)
}
func autoConvert_v1beta1_TokenReviewSpec_To_authentication_TokenReviewSpec(in *TokenReviewSpec, out *authentication.TokenReviewSpec, s conversion.Scope) error {
out.Token = in.Token
return nil
}
func Convert_v1beta1_TokenReviewSpec_To_authentication_TokenReviewSpec(in *TokenReviewSpec, out *authentication.TokenReviewSpec, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReviewSpec_To_authentication_TokenReviewSpec(in, out, s)
}
func autoConvert_authentication_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in *authentication.TokenReviewSpec, out *TokenReviewSpec, s conversion.Scope) error {
out.Token = in.Token
return nil
}
func Convert_authentication_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in *authentication.TokenReviewSpec, out *TokenReviewSpec, s conversion.Scope) error {
return autoConvert_authentication_TokenReviewSpec_To_v1beta1_TokenReviewSpec(in, out, s)
}
func autoConvert_v1beta1_TokenReviewStatus_To_authentication_TokenReviewStatus(in *TokenReviewStatus, out *authentication.TokenReviewStatus, s conversion.Scope) error {
out.Authenticated = in.Authenticated
if err := Convert_v1beta1_UserInfo_To_authentication_UserInfo(&in.User, &out.User, s); err != nil {
return err
}
out.Error = in.Error
return nil
}
func Convert_v1beta1_TokenReviewStatus_To_authentication_TokenReviewStatus(in *TokenReviewStatus, out *authentication.TokenReviewStatus, s conversion.Scope) error {
return autoConvert_v1beta1_TokenReviewStatus_To_authentication_TokenReviewStatus(in, out, s)
}
func autoConvert_authentication_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in *authentication.TokenReviewStatus, out *TokenReviewStatus, s conversion.Scope) error {
out.Authenticated = in.Authenticated
if err := Convert_authentication_UserInfo_To_v1beta1_UserInfo(&in.User, &out.User, s); err != nil {
return err
}
out.Error = in.Error
return nil
}
func Convert_authentication_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in *authentication.TokenReviewStatus, out *TokenReviewStatus, s conversion.Scope) error {
return autoConvert_authentication_TokenReviewStatus_To_v1beta1_TokenReviewStatus(in, out, s)
}
func autoConvert_v1beta1_UserInfo_To_authentication_UserInfo(in *UserInfo, out *authentication.UserInfo, s conversion.Scope) error {
out.Username = in.Username
out.UID = in.UID
out.Groups = in.Groups
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]authentication.ExtraValue, len(*in))
for key, val := range *in {
newVal := new(authentication.ExtraValue)
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&val, newVal, 0); err != nil {
return err
}
(*out)[key] = *newVal
}
} else {
out.Extra = nil
}
return nil
}
func Convert_v1beta1_UserInfo_To_authentication_UserInfo(in *UserInfo, out *authentication.UserInfo, s conversion.Scope) error {
return autoConvert_v1beta1_UserInfo_To_authentication_UserInfo(in, out, s)
}
func autoConvert_authentication_UserInfo_To_v1beta1_UserInfo(in *authentication.UserInfo, out *UserInfo, s conversion.Scope) error {
out.Username = in.Username
out.UID = in.UID
out.Groups = in.Groups
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue, len(*in))
for key, val := range *in {
newVal := new(ExtraValue)
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&val, newVal, 0); err != nil {
return err
}
(*out)[key] = *newVal
}
} else {
out.Extra = nil
}
return nil
}
func Convert_authentication_UserInfo_To_v1beta1_UserInfo(in *authentication.UserInfo, out *UserInfo, s conversion.Scope) error {
return autoConvert_authentication_UserInfo_To_v1beta1_UserInfo(in, out, s)
}

View file

@ -0,0 +1,111 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1beta1
import (
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReview, InType: reflect.TypeOf(&TokenReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReviewSpec, InType: reflect.TypeOf(&TokenReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReviewStatus, InType: reflect.TypeOf(&TokenReviewStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_UserInfo, InType: reflect.TypeOf(&UserInfo{})},
)
}
func DeepCopy_v1beta1_TokenReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReview)
out := out.(*TokenReview)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
if err := DeepCopy_v1beta1_TokenReviewStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v1beta1_TokenReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReviewSpec)
out := out.(*TokenReviewSpec)
out.Token = in.Token
return nil
}
}
func DeepCopy_v1beta1_TokenReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReviewStatus)
out := out.(*TokenReviewStatus)
out.Authenticated = in.Authenticated
if err := DeepCopy_v1beta1_UserInfo(&in.User, &out.User, c); err != nil {
return err
}
out.Error = in.Error
return nil
}
}
func DeepCopy_v1beta1_UserInfo(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*UserInfo)
out := out.(*UserInfo)
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
} else {
out.Extra = nil
}
return nil
}
}

View file

@ -0,0 +1,111 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package authentication
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authentication_TokenReview, InType: reflect.TypeOf(&TokenReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authentication_TokenReviewSpec, InType: reflect.TypeOf(&TokenReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authentication_TokenReviewStatus, InType: reflect.TypeOf(&TokenReviewStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authentication_UserInfo, InType: reflect.TypeOf(&UserInfo{})},
)
}
func DeepCopy_authentication_TokenReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReview)
out := out.(*TokenReview)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
if err := DeepCopy_authentication_TokenReviewStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_authentication_TokenReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReviewSpec)
out := out.(*TokenReviewSpec)
out.Token = in.Token
return nil
}
}
func DeepCopy_authentication_TokenReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*TokenReviewStatus)
out := out.(*TokenReviewStatus)
out.Authenticated = in.Authenticated
if err := DeepCopy_authentication_UserInfo(&in.User, &out.User, c); err != nil {
return err
}
out.Error = in.Error
return nil
}
}
func DeepCopy_authentication_UserInfo(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*UserInfo)
out := out.(*UserInfo)
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
} else {
out.Extra = nil
}
return nil
}
}

View file

@ -1,149 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package authorization
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_authorization_LocalSubjectAccessReview,
DeepCopy_authorization_NonResourceAttributes,
DeepCopy_authorization_ResourceAttributes,
DeepCopy_authorization_SelfSubjectAccessReview,
DeepCopy_authorization_SelfSubjectAccessReviewSpec,
DeepCopy_authorization_SubjectAccessReview,
DeepCopy_authorization_SubjectAccessReviewSpec,
DeepCopy_authorization_SubjectAccessReviewStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_authorization_LocalSubjectAccessReview(in LocalSubjectAccessReview, out *LocalSubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_authorization_NonResourceAttributes(in NonResourceAttributes, out *NonResourceAttributes, c *conversion.Cloner) error {
out.Path = in.Path
out.Verb = in.Verb
return nil
}
func DeepCopy_authorization_ResourceAttributes(in ResourceAttributes, out *ResourceAttributes, c *conversion.Cloner) error {
out.Namespace = in.Namespace
out.Verb = in.Verb
out.Group = in.Group
out.Version = in.Version
out.Resource = in.Resource
out.Subresource = in.Subresource
out.Name = in.Name
return nil
}
func DeepCopy_authorization_SelfSubjectAccessReview(in SelfSubjectAccessReview, out *SelfSubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SelfSubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_authorization_SelfSubjectAccessReviewSpec(in SelfSubjectAccessReviewSpec, out *SelfSubjectAccessReviewSpec, c *conversion.Cloner) error {
if in.ResourceAttributes != nil {
in, out := in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = *in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = *in
} else {
out.NonResourceAttributes = nil
}
return nil
}
func DeepCopy_authorization_SubjectAccessReview(in SubjectAccessReview, out *SubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_authorization_SubjectAccessReviewSpec(in SubjectAccessReviewSpec, out *SubjectAccessReviewSpec, c *conversion.Cloner) error {
if in.ResourceAttributes != nil {
in, out := in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = *in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = *in
} else {
out.NonResourceAttributes = nil
}
out.User = in.User
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := in.Extra, &out.Extra
*out = make(map[string][]string)
for key, val := range in {
if newVal, err := c.DeepCopy(val); err != nil {
return err
} else {
(*out)[key] = newVal.([]string)
}
}
} else {
out.Extra = nil
}
return nil
}
func DeepCopy_authorization_SubjectAccessReviewStatus(in SubjectAccessReviewStatus, out *SubjectAccessReviewStatus, c *conversion.Cloner) error {
out.Allowed = in.Allowed
out.Reason = in.Reason
return nil
}

View file

@ -16,4 +16,5 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register
// +groupName=authorization.k8s.io
package authorization

View file

@ -89,7 +89,10 @@ func enableVersions(externalVersions []unversioned.GroupVersion) error {
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
authorization.AddToScheme(api.Scheme)
if err := authorization.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -98,7 +101,10 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1beta1.SchemeGroupVersion:
v1beta1.AddToScheme(api.Scheme)
if err := v1beta1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -37,14 +37,16 @@ func Resource(resource string) unversioned.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&SelfSubjectAccessReview{},
&SubjectAccessReview{},
&LocalSubjectAccessReview{},
)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -17,13 +17,19 @@ limitations under the License.
package authorization
import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// SubjectAccessReview checks whether or not a user or group can perform an action. Not filling in a
// spec.namespace means "in all namespaces".
type SubjectAccessReview struct {
unversioned.TypeMeta
api.ObjectMeta
// Spec holds information about the request being evaluated
Spec SubjectAccessReviewSpec
@ -37,6 +43,7 @@ type SubjectAccessReview struct {
// to check whether they can perform an action
type SelfSubjectAccessReview struct {
unversioned.TypeMeta
api.ObjectMeta
// Spec holds information about the request being evaluated.
Spec SelfSubjectAccessReviewSpec
@ -50,6 +57,7 @@ type SelfSubjectAccessReview struct {
// checking.
type LocalSubjectAccessReview struct {
unversioned.TypeMeta
api.ObjectMeta
// Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
@ -103,9 +111,13 @@ type SubjectAccessReviewSpec struct {
Groups []string
// Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
Extra map[string][]string
Extra map[string]ExtraValue
}
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
type ExtraValue []string
// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAttributes
// and NonResourceAttributes must be set
type SelfSubjectAccessReviewSpec struct {
@ -121,4 +133,8 @@ type SubjectAccessReviewStatus struct {
Allowed bool
// Reason is optional. It indicates why a request was allowed or denied.
Reason string
// EvaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
EvaluationError string
}

View file

@ -20,11 +20,7 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) {
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions
err := scheme.AddConversionFuncs()
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
}
return scheme.AddConversionFuncs()
}

View file

@ -1,149 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1beta1
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1beta1_LocalSubjectAccessReview,
DeepCopy_v1beta1_NonResourceAttributes,
DeepCopy_v1beta1_ResourceAttributes,
DeepCopy_v1beta1_SelfSubjectAccessReview,
DeepCopy_v1beta1_SelfSubjectAccessReviewSpec,
DeepCopy_v1beta1_SubjectAccessReview,
DeepCopy_v1beta1_SubjectAccessReviewSpec,
DeepCopy_v1beta1_SubjectAccessReviewStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1beta1_LocalSubjectAccessReview(in LocalSubjectAccessReview, out *LocalSubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_v1beta1_NonResourceAttributes(in NonResourceAttributes, out *NonResourceAttributes, c *conversion.Cloner) error {
out.Path = in.Path
out.Verb = in.Verb
return nil
}
func DeepCopy_v1beta1_ResourceAttributes(in ResourceAttributes, out *ResourceAttributes, c *conversion.Cloner) error {
out.Namespace = in.Namespace
out.Verb = in.Verb
out.Group = in.Group
out.Version = in.Version
out.Resource = in.Resource
out.Subresource = in.Subresource
out.Name = in.Name
return nil
}
func DeepCopy_v1beta1_SelfSubjectAccessReview(in SelfSubjectAccessReview, out *SelfSubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in SelfSubjectAccessReviewSpec, out *SelfSubjectAccessReviewSpec, c *conversion.Cloner) error {
if in.ResourceAttributes != nil {
in, out := in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = *in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = *in
} else {
out.NonResourceAttributes = nil
}
return nil
}
func DeepCopy_v1beta1_SubjectAccessReview(in SubjectAccessReview, out *SubjectAccessReview, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
func DeepCopy_v1beta1_SubjectAccessReviewSpec(in SubjectAccessReviewSpec, out *SubjectAccessReviewSpec, c *conversion.Cloner) error {
if in.ResourceAttributes != nil {
in, out := in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = *in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = *in
} else {
out.NonResourceAttributes = nil
}
out.User = in.User
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := in.Extra, &out.Extra
*out = make(map[string][]string)
for key, val := range in {
if newVal, err := c.DeepCopy(val); err != nil {
return err
} else {
(*out)[key] = newVal.([]string)
}
}
} else {
out.Extra = nil
}
return nil
}
func DeepCopy_v1beta1_SubjectAccessReviewStatus(in SubjectAccessReviewStatus, out *SubjectAccessReviewStatus, c *conversion.Cloner) error {
out.Allowed = in.Allowed
out.Reason = in.Reason
return nil
}

View file

@ -20,6 +20,6 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs()
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs()
}

View file

@ -17,4 +17,5 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/authorization
// +groupName=authorization.k8s.io
package v1beta1

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,160 @@
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
syntax = 'proto2';
package k8s.io.kubernetes.pkg.apis.authorization.v1beta1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "v1beta1";
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
message ExtraValue {
// items, if empty, will result in an empty slice
repeated string items = 1;
}
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
// checking.
message LocalSubjectAccessReview {
optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
// Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
optional SubjectAccessReviewSpec spec = 2;
// Status is filled in by the server and indicates whether the request is allowed or not
optional SubjectAccessReviewStatus status = 3;
}
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
message NonResourceAttributes {
// Path is the URL path of the request
optional string path = 1;
// Verb is the standard HTTP verb
optional string verb = 2;
}
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
message ResourceAttributes {
// Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
optional string namespace = 1;
// Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
optional string verb = 2;
// Group is the API Group of the Resource. "*" means all.
optional string group = 3;
// Version is the API Version of the Resource. "*" means all.
optional string version = 4;
// Resource is one of the existing resource types. "*" means all.
optional string resource = 5;
// Subresource is one of the existing resource types. "" means none.
optional string subresource = 6;
// Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
optional string name = 7;
}
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
// to check whether they can perform an action
message SelfSubjectAccessReview {
optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
// Spec holds information about the request being evaluated. user and groups must be empty
optional SelfSubjectAccessReviewSpec spec = 2;
// Status is filled in by the server and indicates whether the request is allowed or not
optional SubjectAccessReviewStatus status = 3;
}
// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
// and NonResourceAuthorizationAttributes must be set
message SelfSubjectAccessReviewSpec {
// ResourceAuthorizationAttributes describes information for a resource access request
optional ResourceAttributes resourceAttributes = 1;
// NonResourceAttributes describes information for a non-resource access request
optional NonResourceAttributes nonResourceAttributes = 2;
}
// SubjectAccessReview checks whether or not a user or group can perform an action.
message SubjectAccessReview {
optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
// Spec holds information about the request being evaluated
optional SubjectAccessReviewSpec spec = 2;
// Status is filled in by the server and indicates whether the request is allowed or not
optional SubjectAccessReviewStatus status = 3;
}
// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
// and NonResourceAuthorizationAttributes must be set
message SubjectAccessReviewSpec {
// ResourceAuthorizationAttributes describes information for a resource access request
optional ResourceAttributes resourceAttributes = 1;
// NonResourceAttributes describes information for a non-resource access request
optional NonResourceAttributes nonResourceAttributes = 2;
// User is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
optional string verb = 3;
// Groups is the groups you're testing for.
repeated string group = 4;
// Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
map<string, ExtraValue> extra = 5;
}
// SubjectAccessReviewStatus
message SubjectAccessReviewStatus {
// Allowed is required. True if the action would be allowed, false otherwise.
optional bool allowed = 1;
// Reason is optional. It indicates why a request was allowed or denied.
optional string reason = 2;
// EvaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
optional string evaluationError = 3;
}

View file

@ -18,7 +18,9 @@ package v1beta1
import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/runtime"
versionedwatch "k8s.io/kubernetes/pkg/watch/versioned"
)
// GroupName is the group name use in this package
@ -27,20 +29,24 @@ const GroupName = "authorization.k8s.io"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1beta1"}
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&v1.ListOptions{},
&v1.DeleteOptions{},
&SelfSubjectAccessReview{},
&SubjectAccessReview{},
&LocalSubjectAccessReview{},
)
versionedwatch.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}
func (obj *LocalSubjectAccessReview) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }

File diff suppressed because it is too large Load diff

View file

@ -17,18 +17,26 @@ limitations under the License.
package v1beta1
import (
"fmt"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// SubjectAccessReview checks whether or not a user or group can perform an action.
type SubjectAccessReview struct {
unversioned.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec holds information about the request being evaluated
Spec SubjectAccessReviewSpec `json:"spec"`
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
// Status is filled in by the server and indicates whether the request is allowed or not
Status SubjectAccessReviewStatus `json:"status,omitempty"`
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
@ -36,12 +44,13 @@ type SubjectAccessReview struct {
// to check whether they can perform an action
type SelfSubjectAccessReview struct {
unversioned.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec holds information about the request being evaluated. user and groups must be empty
Spec SelfSubjectAccessReviewSpec `json:"spec"`
Spec SelfSubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
// Status is filled in by the server and indicates whether the request is allowed or not
Status SubjectAccessReviewStatus `json:"status,omitempty"`
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
@ -49,13 +58,14 @@ type SelfSubjectAccessReview struct {
// checking.
type LocalSubjectAccessReview struct {
unversioned.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec holds information about the request being evaluated. spec.namespace must be equal to the namespace
// you made the request against. If empty, it is defaulted.
Spec SubjectAccessReviewSpec `json:"spec"`
Spec SubjectAccessReviewSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
// Status is filled in by the server and indicates whether the request is allowed or not
Status SubjectAccessReviewStatus `json:"status,omitempty"`
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// ResourceAttributes includes the authorization attributes available for resource requests to the Authorizer interface
@ -64,60 +74,73 @@ type ResourceAttributes struct {
// "" (empty) is defaulted for LocalSubjectAccessReviews
// "" (empty) is empty for cluster-scoped resources
// "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview or SelfSubjectAccessReview
Namespace string `json:"namespace,omitempty"`
Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"`
// Verb is a kubernetes resource API verb, like: get, list, watch, create, update, delete, proxy. "*" means all.
Verb string `json:"verb,omitempty"`
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
// Group is the API Group of the Resource. "*" means all.
Group string `json:"group,omitempty"`
Group string `json:"group,omitempty" protobuf:"bytes,3,opt,name=group"`
// Version is the API Version of the Resource. "*" means all.
Version string `json:"version,omitempty"`
Version string `json:"version,omitempty" protobuf:"bytes,4,opt,name=version"`
// Resource is one of the existing resource types. "*" means all.
Resource string `json:"resource,omitempty"`
Resource string `json:"resource,omitempty" protobuf:"bytes,5,opt,name=resource"`
// Subresource is one of the existing resource types. "" means none.
Subresource string `json:"subresource,omitempty"`
Subresource string `json:"subresource,omitempty" protobuf:"bytes,6,opt,name=subresource"`
// Name is the name of the resource being requested for a "get" or deleted for a "delete". "" (empty) means all.
Name string `json:"name,omitempty"`
Name string `json:"name,omitempty" protobuf:"bytes,7,opt,name=name"`
}
// NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface
type NonResourceAttributes struct {
// Path is the URL path of the request
Path string `json:"path,omitempty"`
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
// Verb is the standard HTTP verb
Verb string `json:"verb,omitempty"`
Verb string `json:"verb,omitempty" protobuf:"bytes,2,opt,name=verb"`
}
// SubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
// and NonResourceAuthorizationAttributes must be set
type SubjectAccessReviewSpec struct {
// ResourceAuthorizationAttributes describes information for a resource access request
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty"`
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
// NonResourceAttributes describes information for a non-resource access request
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty"`
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
// User is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
User string `json:"user,omitempty"`
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=verb"`
// Groups is the groups you're testing for.
Groups []string `json:"group,omitempty"`
Groups []string `json:"group,omitempty" protobuf:"bytes,4,rep,name=group"`
// Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer
// it needs a reflection here.
Extra map[string][]string `json:"extra,omitempty"`
Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,5,rep,name=extra"`
}
// ExtraValue masks the value so protobuf can generate
// +protobuf.nullable=true
// +protobuf.options.(gogoproto.goproto_stringer)=false
type ExtraValue []string
func (t ExtraValue) String() string {
return fmt.Sprintf("%v", []string(t))
}
// SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes
// and NonResourceAuthorizationAttributes must be set
type SelfSubjectAccessReviewSpec struct {
// ResourceAuthorizationAttributes describes information for a resource access request
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty"`
ResourceAttributes *ResourceAttributes `json:"resourceAttributes,omitempty" protobuf:"bytes,1,opt,name=resourceAttributes"`
// NonResourceAttributes describes information for a non-resource access request
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty"`
NonResourceAttributes *NonResourceAttributes `json:"nonResourceAttributes,omitempty" protobuf:"bytes,2,opt,name=nonResourceAttributes"`
}
// SubjectAccessReviewStatus
type SubjectAccessReviewStatus struct {
// Allowed is required. True if the action would be allowed, false otherwise.
Allowed bool `json:"allowed"`
Allowed bool `json:"allowed" protobuf:"varint,1,opt,name=allowed"`
// Reason is optional. It indicates why a request was allowed or denied.
Reason string `json:"reason,omitempty"`
Reason string `json:"reason,omitempty" protobuf:"bytes,2,opt,name=reason"`
// EvaluationError is an indication that some error occurred during the authorization check.
// It is entirely possible to get an error and be able to continue determine authorization status in spite of it.
// For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.
EvaluationError string `json:"evaluationError,omitempty" protobuf:"bytes,3,opt,name=evaluationError"`
}

View file

@ -106,9 +106,10 @@ func (SubjectAccessReviewSpec) SwaggerDoc() map[string]string {
}
var map_SubjectAccessReviewStatus = map[string]string{
"": "SubjectAccessReviewStatus",
"allowed": "Allowed is required. True if the action would be allowed, false otherwise.",
"reason": "Reason is optional. It indicates why a request was allowed or denied.",
"": "SubjectAccessReviewStatus",
"allowed": "Allowed is required. True if the action would be allowed, false otherwise.",
"reason": "Reason is optional. It indicates why a request was allowed or denied.",
"evaluationError": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. For instance, RBAC can be missing a role, but enough roles are still present and bound to reason about the request.",
}
func (SubjectAccessReviewStatus) SwaggerDoc() map[string]string {

View file

@ -24,10 +24,17 @@ import (
api "k8s.io/kubernetes/pkg/api"
authorization "k8s.io/kubernetes/pkg/apis/authorization"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1beta1_LocalSubjectAccessReview_To_authorization_LocalSubjectAccessReview,
Convert_authorization_LocalSubjectAccessReview_To_v1beta1_LocalSubjectAccessReview,
Convert_v1beta1_NonResourceAttributes_To_authorization_NonResourceAttributes,
@ -44,16 +51,17 @@ func init() {
Convert_authorization_SubjectAccessReviewSpec_To_v1beta1_SubjectAccessReviewSpec,
Convert_v1beta1_SubjectAccessReviewStatus_To_authorization_SubjectAccessReviewStatus,
Convert_authorization_SubjectAccessReviewStatus_To_v1beta1_SubjectAccessReviewStatus,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
)
}
func autoConvert_v1beta1_LocalSubjectAccessReview_To_authorization_LocalSubjectAccessReview(in *LocalSubjectAccessReview, out *authorization.LocalSubjectAccessReview, s conversion.Scope) error {
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_v1beta1_SubjectAccessReviewSpec_To_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -71,6 +79,10 @@ func autoConvert_authorization_LocalSubjectAccessReview_To_v1beta1_LocalSubjectA
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_authorization_SubjectAccessReviewSpec_To_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -138,6 +150,10 @@ func autoConvert_v1beta1_SelfSubjectAccessReview_To_authorization_SelfSubjectAcc
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_v1beta1_SelfSubjectAccessReviewSpec_To_authorization_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -155,6 +171,10 @@ func autoConvert_authorization_SelfSubjectAccessReview_To_v1beta1_SelfSubjectAcc
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_authorization_SelfSubjectAccessReviewSpec_To_v1beta1_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -224,6 +244,10 @@ func autoConvert_v1beta1_SubjectAccessReview_To_authorization_SubjectAccessRevie
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_v1beta1_SubjectAccessReviewSpec_To_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -241,6 +265,10 @@ func autoConvert_authorization_SubjectAccessReview_To_v1beta1_SubjectAccessRevie
if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
return err
}
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
if err := Convert_authorization_SubjectAccessReviewSpec_To_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, s); err != nil {
return err
}
@ -275,7 +303,20 @@ func autoConvert_v1beta1_SubjectAccessReviewSpec_To_authorization_SubjectAccessR
}
out.User = in.User
out.Groups = in.Groups
out.Extra = in.Extra
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]authorization.ExtraValue, len(*in))
for key, val := range *in {
newVal := new(authorization.ExtraValue)
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&val, newVal, 0); err != nil {
return err
}
(*out)[key] = *newVal
}
} else {
out.Extra = nil
}
return nil
}
@ -304,7 +345,20 @@ func autoConvert_authorization_SubjectAccessReviewSpec_To_v1beta1_SubjectAccessR
}
out.User = in.User
out.Groups = in.Groups
out.Extra = in.Extra
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue, len(*in))
for key, val := range *in {
newVal := new(ExtraValue)
// TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&val, newVal, 0); err != nil {
return err
}
(*out)[key] = *newVal
}
} else {
out.Extra = nil
}
return nil
}
@ -315,6 +369,7 @@ func Convert_authorization_SubjectAccessReviewSpec_To_v1beta1_SubjectAccessRevie
func autoConvert_v1beta1_SubjectAccessReviewStatus_To_authorization_SubjectAccessReviewStatus(in *SubjectAccessReviewStatus, out *authorization.SubjectAccessReviewStatus, s conversion.Scope) error {
out.Allowed = in.Allowed
out.Reason = in.Reason
out.EvaluationError = in.EvaluationError
return nil
}
@ -325,6 +380,7 @@ func Convert_v1beta1_SubjectAccessReviewStatus_To_authorization_SubjectAccessRev
func autoConvert_authorization_SubjectAccessReviewStatus_To_v1beta1_SubjectAccessReviewStatus(in *authorization.SubjectAccessReviewStatus, out *SubjectAccessReviewStatus, s conversion.Scope) error {
out.Allowed = in.Allowed
out.Reason = in.Reason
out.EvaluationError = in.EvaluationError
return nil
}

View file

@ -0,0 +1,196 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1beta1
import (
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_LocalSubjectAccessReview, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NonResourceAttributes, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ResourceAttributes, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReview, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReview, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewSpec, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewStatus, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
)
}
func DeepCopy_v1beta1_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LocalSubjectAccessReview)
out := out.(*LocalSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_v1beta1_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*NonResourceAttributes)
out := out.(*NonResourceAttributes)
out.Path = in.Path
out.Verb = in.Verb
return nil
}
}
func DeepCopy_v1beta1_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ResourceAttributes)
out := out.(*ResourceAttributes)
out.Namespace = in.Namespace
out.Verb = in.Verb
out.Group = in.Group
out.Version = in.Version
out.Resource = in.Resource
out.Subresource = in.Subresource
out.Name = in.Name
return nil
}
}
func DeepCopy_v1beta1_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReview)
out := out.(*SelfSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReviewSpec)
out := out.(*SelfSubjectAccessReviewSpec)
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
return nil
}
}
func DeepCopy_v1beta1_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReview)
out := out.(*SubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_v1beta1_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewSpec)
out := out.(*SubjectAccessReviewSpec)
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
out.User = in.User
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
} else {
out.Extra = nil
}
return nil
}
}
func DeepCopy_v1beta1_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewStatus)
out := out.(*SubjectAccessReviewStatus)
out.Allowed = in.Allowed
out.Reason = in.Reason
out.EvaluationError = in.EvaluationError
return nil
}
}

View file

@ -0,0 +1,196 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package authorization
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_LocalSubjectAccessReview, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_NonResourceAttributes, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_ResourceAttributes, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SelfSubjectAccessReview, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReview, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReviewSpec, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReviewStatus, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
)
}
func DeepCopy_authorization_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LocalSubjectAccessReview)
out := out.(*LocalSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_authorization_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*NonResourceAttributes)
out := out.(*NonResourceAttributes)
out.Path = in.Path
out.Verb = in.Verb
return nil
}
}
func DeepCopy_authorization_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ResourceAttributes)
out := out.(*ResourceAttributes)
out.Namespace = in.Namespace
out.Verb = in.Verb
out.Group = in.Group
out.Version = in.Version
out.Resource = in.Resource
out.Subresource = in.Subresource
out.Name = in.Name
return nil
}
}
func DeepCopy_authorization_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReview)
out := out.(*SelfSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_authorization_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_authorization_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReviewSpec)
out := out.(*SelfSubjectAccessReviewSpec)
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
return nil
}
}
func DeepCopy_authorization_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReview)
out := out.(*SubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
}
}
func DeepCopy_authorization_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewSpec)
out := out.(*SubjectAccessReviewSpec)
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
} else {
out.ResourceAttributes = nil
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
*out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
out.User = in.User
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
} else {
out.Extra = nil
}
return nil
}
}
func DeepCopy_authorization_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewStatus)
out := out.(*SubjectAccessReviewStatus)
out.Allowed = in.Allowed
out.Reason = in.Reason
out.EvaluationError = in.EvaluationError
return nil
}
}

View file

@ -1,149 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package autoscaling
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_autoscaling_CrossVersionObjectReference,
DeepCopy_autoscaling_HorizontalPodAutoscaler,
DeepCopy_autoscaling_HorizontalPodAutoscalerList,
DeepCopy_autoscaling_HorizontalPodAutoscalerSpec,
DeepCopy_autoscaling_HorizontalPodAutoscalerStatus,
DeepCopy_autoscaling_Scale,
DeepCopy_autoscaling_ScaleSpec,
DeepCopy_autoscaling_ScaleStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_autoscaling_CrossVersionObjectReference(in CrossVersionObjectReference, out *CrossVersionObjectReference, c *conversion.Cloner) error {
out.Kind = in.Kind
out.Name = in.Name
out.APIVersion = in.APIVersion
return nil
}
func DeepCopy_autoscaling_HorizontalPodAutoscaler(in HorizontalPodAutoscaler, out *HorizontalPodAutoscaler, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerList(in HorizontalPodAutoscalerList, out *HorizontalPodAutoscalerList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]HorizontalPodAutoscaler, len(in))
for i := range in {
if err := DeepCopy_autoscaling_HorizontalPodAutoscaler(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in HorizontalPodAutoscalerSpec, out *HorizontalPodAutoscalerSpec, c *conversion.Cloner) error {
out.ScaleTargetRef = in.ScaleTargetRef
if in.MinReplicas != nil {
in, out := in.MinReplicas, &out.MinReplicas
*out = new(int32)
**out = *in
} else {
out.MinReplicas = nil
}
out.MaxReplicas = in.MaxReplicas
if in.TargetCPUUtilizationPercentage != nil {
in, out := in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
*out = new(int32)
**out = *in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in HorizontalPodAutoscalerStatus, out *HorizontalPodAutoscalerStatus, c *conversion.Cloner) error {
if in.ObservedGeneration != nil {
in, out := in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = *in
} else {
out.ObservedGeneration = nil
}
if in.LastScaleTime != nil {
in, out := in.LastScaleTime, &out.LastScaleTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.LastScaleTime = nil
}
out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas
if in.CurrentCPUUtilizationPercentage != nil {
in, out := in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
*out = new(int32)
**out = *in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
}
func DeepCopy_autoscaling_Scale(in Scale, out *Scale, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
out.Status = in.Status
return nil
}
func DeepCopy_autoscaling_ScaleSpec(in ScaleSpec, out *ScaleSpec, c *conversion.Cloner) error {
out.Replicas = in.Replicas
return nil
}
func DeepCopy_autoscaling_ScaleStatus(in ScaleStatus, out *ScaleStatus, c *conversion.Cloner) error {
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}

View file

@ -114,7 +114,10 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
autoscaling.AddToScheme(api.Scheme)
if err := autoscaling.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -123,7 +126,10 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1.SchemeGroupVersion:
v1.AddToScheme(api.Scheme)
if err := v1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -38,17 +38,18 @@ func Resource(resource string) unversioned.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&Scale{},
&HorizontalPodAutoscaler{},
&HorizontalPodAutoscalerList{},
&api.ListOptions{},
)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -1,150 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1_CrossVersionObjectReference,
DeepCopy_v1_HorizontalPodAutoscaler,
DeepCopy_v1_HorizontalPodAutoscalerList,
DeepCopy_v1_HorizontalPodAutoscalerSpec,
DeepCopy_v1_HorizontalPodAutoscalerStatus,
DeepCopy_v1_Scale,
DeepCopy_v1_ScaleSpec,
DeepCopy_v1_ScaleStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1_CrossVersionObjectReference(in CrossVersionObjectReference, out *CrossVersionObjectReference, c *conversion.Cloner) error {
out.Kind = in.Kind
out.Name = in.Name
out.APIVersion = in.APIVersion
return nil
}
func DeepCopy_v1_HorizontalPodAutoscaler(in HorizontalPodAutoscaler, out *HorizontalPodAutoscaler, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1_HorizontalPodAutoscalerList(in HorizontalPodAutoscalerList, out *HorizontalPodAutoscalerList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]HorizontalPodAutoscaler, len(in))
for i := range in {
if err := DeepCopy_v1_HorizontalPodAutoscaler(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v1_HorizontalPodAutoscalerSpec(in HorizontalPodAutoscalerSpec, out *HorizontalPodAutoscalerSpec, c *conversion.Cloner) error {
out.ScaleTargetRef = in.ScaleTargetRef
if in.MinReplicas != nil {
in, out := in.MinReplicas, &out.MinReplicas
*out = new(int32)
**out = *in
} else {
out.MinReplicas = nil
}
out.MaxReplicas = in.MaxReplicas
if in.TargetCPUUtilizationPercentage != nil {
in, out := in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
*out = new(int32)
**out = *in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
}
func DeepCopy_v1_HorizontalPodAutoscalerStatus(in HorizontalPodAutoscalerStatus, out *HorizontalPodAutoscalerStatus, c *conversion.Cloner) error {
if in.ObservedGeneration != nil {
in, out := in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = *in
} else {
out.ObservedGeneration = nil
}
if in.LastScaleTime != nil {
in, out := in.LastScaleTime, &out.LastScaleTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.LastScaleTime = nil
}
out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas
if in.CurrentCPUUtilizationPercentage != nil {
in, out := in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
*out = new(int32)
**out = *in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
}
func DeepCopy_v1_Scale(in Scale, out *Scale, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
out.Status = in.Status
return nil
}
func DeepCopy_v1_ScaleSpec(in ScaleSpec, out *ScaleSpec, c *conversion.Cloner) error {
out.Replicas = in.Replicas
return nil
}
func DeepCopy_v1_ScaleStatus(in ScaleStatus, out *ScaleStatus, c *conversion.Cloner) error {
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}

View file

@ -20,8 +20,8 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs(
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs(
SetDefaults_HorizontalPodAutoscaler,
)
}

View file

@ -42,6 +42,9 @@ import math "math"
import k8s_io_kubernetes_pkg_api_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
import strings "strings"
import reflect "reflect"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
@ -49,37 +52,49 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func (m *CrossVersionObjectReference) Reset() { *m = CrossVersionObjectReference{} }
func (m *CrossVersionObjectReference) String() string { return proto.CompactTextString(m) }
func (*CrossVersionObjectReference) ProtoMessage() {}
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1
func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} }
func (m *HorizontalPodAutoscaler) String() string { return proto.CompactTextString(m) }
func (*HorizontalPodAutoscaler) ProtoMessage() {}
func (m *CrossVersionObjectReference) Reset() { *m = CrossVersionObjectReference{} }
func (*CrossVersionObjectReference) ProtoMessage() {}
func (*CrossVersionObjectReference) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{0}
}
func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} }
func (m *HorizontalPodAutoscalerList) String() string { return proto.CompactTextString(m) }
func (*HorizontalPodAutoscalerList) ProtoMessage() {}
func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} }
func (*HorizontalPodAutoscaler) ProtoMessage() {}
func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} }
func (m *HorizontalPodAutoscalerSpec) String() string { return proto.CompactTextString(m) }
func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} }
func (*HorizontalPodAutoscalerList) ProtoMessage() {}
func (*HorizontalPodAutoscalerList) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{2}
}
func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} }
func (m *HorizontalPodAutoscalerStatus) String() string { return proto.CompactTextString(m) }
func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} }
func (*HorizontalPodAutoscalerSpec) ProtoMessage() {}
func (*HorizontalPodAutoscalerSpec) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{3}
}
func (m *Scale) Reset() { *m = Scale{} }
func (m *Scale) String() string { return proto.CompactTextString(m) }
func (*Scale) ProtoMessage() {}
func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} }
func (*HorizontalPodAutoscalerStatus) ProtoMessage() {}
func (*HorizontalPodAutoscalerStatus) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{4}
}
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
func (m *ScaleSpec) String() string { return proto.CompactTextString(m) }
func (*ScaleSpec) ProtoMessage() {}
func (m *Scale) Reset() { *m = Scale{} }
func (*Scale) ProtoMessage() {}
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
func (m *ScaleStatus) String() string { return proto.CompactTextString(m) }
func (*ScaleStatus) ProtoMessage() {}
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
func (*ScaleSpec) ProtoMessage() {}
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
func (*ScaleStatus) ProtoMessage() {}
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func init() {
proto.RegisterType((*CrossVersionObjectReference)(nil), "k8s.io.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference")
@ -511,6 +526,109 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *CrossVersionObjectReference) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CrossVersionObjectReference{`,
`Kind:` + fmt.Sprintf("%v", this.Kind) + `,`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`,
`}`,
}, "")
return s
}
func (this *HorizontalPodAutoscaler) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&HorizontalPodAutoscaler{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *HorizontalPodAutoscalerList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&HorizontalPodAutoscalerList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *HorizontalPodAutoscalerSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&HorizontalPodAutoscalerSpec{`,
`ScaleTargetRef:` + strings.Replace(strings.Replace(this.ScaleTargetRef.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`MinReplicas:` + valueToStringGenerated(this.MinReplicas) + `,`,
`MaxReplicas:` + fmt.Sprintf("%v", this.MaxReplicas) + `,`,
`TargetCPUUtilizationPercentage:` + valueToStringGenerated(this.TargetCPUUtilizationPercentage) + `,`,
`}`,
}, "")
return s
}
func (this *HorizontalPodAutoscalerStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`,
`ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`,
`LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`,
`DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`,
`CurrentCPUUtilizationPercentage:` + valueToStringGenerated(this.CurrentCPUUtilizationPercentage) + `,`,
`}`,
}, "")
return s
}
func (this *Scale) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Scale{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ScaleSpec", "ScaleSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "ScaleStatus", "ScaleStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *ScaleSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScaleSpec{`,
`Replicas:` + fmt.Sprintf("%v", this.Replicas) + `,`,
`}`,
}, "")
return s
}
func (this *ScaleStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScaleStatus{`,
`Replicas:` + fmt.Sprintf("%v", this.Replicas) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *CrossVersionObjectReference) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
@ -1610,3 +1728,59 @@ var (
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
)
var fileDescriptorGenerated = []byte{
// 823 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcf, 0x4f, 0xe3, 0x46,
0x14, 0x26, 0xbf, 0x10, 0x8c, 0x0b, 0xb4, 0x53, 0x09, 0xa2, 0x54, 0x4d, 0x90, 0xdb, 0x03, 0x55,
0xc1, 0x56, 0xa2, 0x52, 0x95, 0x23, 0x4e, 0x45, 0x41, 0x85, 0x12, 0x0d, 0x3f, 0x54, 0x55, 0x6a,
0x25, 0xc7, 0x1e, 0xcc, 0x90, 0xc4, 0x8e, 0x66, 0xc6, 0x51, 0xc5, 0xa9, 0xa7, 0x9e, 0x7b, 0xe9,
0xa1, 0xff, 0x4e, 0x4f, 0xdc, 0xca, 0xb1, 0x27, 0xb4, 0xcb, 0x6a, 0xff, 0x8b, 0x3d, 0xec, 0x78,
0x3c, 0x38, 0x4e, 0x82, 0x03, 0xd1, 0xee, 0x1e, 0x46, 0xca, 0xcc, 0x7c, 0xdf, 0xf7, 0xde, 0x7c,
0xef, 0xf9, 0x05, 0xec, 0x74, 0xbe, 0x63, 0x06, 0x09, 0xcc, 0x4e, 0xd8, 0xc6, 0xd4, 0xc7, 0x1c,
0x33, 0xb3, 0xdf, 0xf1, 0x4c, 0xbb, 0x4f, 0x98, 0x69, 0x87, 0x3c, 0x60, 0x8e, 0xdd, 0x25, 0xbe,
0x67, 0x0e, 0xea, 0xa6, 0x87, 0x7d, 0x4c, 0x6d, 0x8e, 0x5d, 0xa3, 0x4f, 0x03, 0x1e, 0xc0, 0xaf,
0x62, 0xaa, 0x31, 0xa4, 0x1a, 0x82, 0x6a, 0x44, 0x54, 0x23, 0x45, 0x35, 0x06, 0xf5, 0xca, 0x96,
0x47, 0xf8, 0x65, 0xd8, 0x36, 0x9c, 0xa0, 0x67, 0x7a, 0x81, 0x17, 0x98, 0x52, 0xa1, 0x1d, 0x5e,
0xc8, 0x9d, 0xdc, 0xc8, 0x5f, 0xb1, 0x72, 0xa5, 0x91, 0x99, 0x94, 0x49, 0x31, 0x0b, 0x42, 0xea,
0xe0, 0xf1, 0x6c, 0x2a, 0xdb, 0xd9, 0x9c, 0xd0, 0x1f, 0x60, 0xca, 0x48, 0xe0, 0x63, 0x77, 0x82,
0xb6, 0x99, 0x4d, 0x9b, 0x7c, 0x72, 0x65, 0xeb, 0x71, 0x34, 0x0d, 0x7d, 0x4e, 0x7a, 0x93, 0x39,
0xd5, 0x1f, 0x87, 0x87, 0x9c, 0x74, 0x4d, 0xe2, 0x73, 0xc6, 0xe9, 0x38, 0x45, 0xff, 0x3b, 0x07,
0x3e, 0x6b, 0xd2, 0x80, 0xb1, 0xf3, 0x38, 0xe5, 0xe3, 0xf6, 0x15, 0x76, 0x38, 0xc2, 0x17, 0x98,
0x62, 0xdf, 0xc1, 0x70, 0x1d, 0x14, 0x3b, 0xc4, 0x77, 0xcb, 0xb9, 0xf5, 0xdc, 0xc6, 0xa2, 0xf5,
0xd1, 0xcd, 0x5d, 0x6d, 0xee, 0xfe, 0xae, 0x56, 0xfc, 0x51, 0x9c, 0x21, 0x79, 0x13, 0x21, 0x7c,
0xbb, 0x87, 0xcb, 0xf9, 0x51, 0xc4, 0x4f, 0xe2, 0x0c, 0xc9, 0x1b, 0xd8, 0x00, 0x40, 0xbc, 0x4f,
0x05, 0x28, 0x17, 0x24, 0x0e, 0x2a, 0x1c, 0xd8, 0x6d, 0x1d, 0xa8, 0x1b, 0x94, 0x42, 0xe9, 0xff,
0xe5, 0xc1, 0xda, 0x7e, 0x40, 0xc9, 0x75, 0xe0, 0x73, 0xbb, 0xdb, 0x0a, 0xdc, 0x5d, 0x55, 0x61,
0x4c, 0xe1, 0xcf, 0x60, 0xa1, 0x87, 0xb9, 0xed, 0xda, 0xdc, 0x96, 0x79, 0x69, 0x8d, 0x0d, 0x23,
0xb3, 0x37, 0x44, 0x3b, 0x18, 0xf1, 0xa3, 0x8e, 0x04, 0x67, 0x18, 0x77, 0x78, 0x86, 0x12, 0x35,
0x78, 0x09, 0x8a, 0xac, 0x8f, 0x1d, 0xf9, 0x16, 0xad, 0xb1, 0x67, 0x3c, 0xbb, 0xe3, 0x8c, 0x8c,
0x5c, 0x4f, 0x84, 0xda, 0xd0, 0x93, 0x68, 0x87, 0x64, 0x04, 0xd8, 0x07, 0xf3, 0x8c, 0xdb, 0x3c,
0x64, 0xd2, 0x0f, 0xad, 0xb1, 0xff, 0x1e, 0x62, 0x49, 0x3d, 0x6b, 0x59, 0x45, 0x9b, 0x8f, 0xf7,
0x48, 0xc5, 0xd1, 0x5f, 0x8b, 0x4a, 0x67, 0x30, 0x0f, 0x09, 0xe3, 0xf0, 0xd7, 0x09, 0x57, 0xcd,
0x29, 0xae, 0xa6, 0x7a, 0xdc, 0x88, 0xe8, 0xd2, 0xdc, 0x8f, 0x55, 0xe8, 0x85, 0x87, 0x93, 0x94,
0xb5, 0x1e, 0x28, 0x11, 0x8e, 0x7b, 0x4c, 0x78, 0x5b, 0x10, 0xda, 0xd6, 0xbb, 0xbf, 0xd7, 0x5a,
0x52, 0xe1, 0x4a, 0x07, 0x91, 0x30, 0x8a, 0xf5, 0xf5, 0x37, 0xf9, 0xcc, 0x77, 0x46, 0xfe, 0xc3,
0x3f, 0x73, 0x60, 0x59, 0x6e, 0x4f, 0x6d, 0xea, 0xe1, 0xa8, 0xd5, 0xd5, 0x73, 0x67, 0x29, 0xf7,
0x94, 0x4f, 0xc6, 0x5a, 0x55, 0x69, 0x2d, 0x9f, 0x8c, 0x44, 0x41, 0x63, 0x51, 0x61, 0x1d, 0x68,
0x3d, 0xe2, 0x23, 0xdc, 0xef, 0x12, 0xc7, 0x66, 0xb2, 0xe7, 0x4a, 0xd6, 0x8a, 0x20, 0x6a, 0x47,
0xc3, 0x63, 0x94, 0xc6, 0xc0, 0x6d, 0x41, 0xb1, 0x7f, 0x4f, 0x28, 0x05, 0x49, 0xf9, 0x54, 0xc5,
0xd3, 0x8e, 0x86, 0x57, 0x28, 0x8d, 0x83, 0x57, 0xa0, 0xca, 0x65, 0xd8, 0x66, 0xeb, 0xec, 0x4c,
0x0c, 0x03, 0x72, 0x6d, 0x73, 0x91, 0x78, 0x0b, 0x8b, 0xc1, 0x26, 0x4c, 0xf2, 0x70, 0xb9, 0x28,
0x95, 0x74, 0xa1, 0x52, 0x3d, 0x9d, 0x8a, 0x44, 0x4f, 0x28, 0xe9, 0xff, 0x16, 0xc0, 0xe7, 0x53,
0x1b, 0x14, 0xee, 0x01, 0x18, 0xb4, 0x19, 0xa6, 0x03, 0xec, 0xfe, 0x10, 0x4f, 0xa3, 0x68, 0x2c,
0x44, 0x35, 0x28, 0x58, 0xab, 0x22, 0x03, 0x78, 0x3c, 0x71, 0x8b, 0x1e, 0x61, 0x40, 0x17, 0x2c,
0x75, 0x6d, 0xc6, 0x63, 0x97, 0x89, 0x9a, 0x40, 0x5a, 0xe3, 0xeb, 0x67, 0x76, 0x6d, 0x44, 0xb1,
0x3e, 0x11, 0xf1, 0x96, 0x0e, 0xd3, 0x2a, 0x68, 0x54, 0x14, 0xee, 0x82, 0x15, 0x27, 0xa4, 0xa2,
0xb2, 0x7c, 0xcc, 0xf6, 0x35, 0x65, 0xfb, 0x4a, 0x73, 0xf4, 0x1a, 0x8d, 0xe3, 0x23, 0x09, 0x17,
0x33, 0x42, 0xb1, 0x9b, 0x48, 0x14, 0x47, 0x25, 0xbe, 0x1f, 0xbd, 0x46, 0xe3, 0x78, 0xd8, 0x03,
0x35, 0xa5, 0x9a, 0x59, 0xc2, 0x92, 0x94, 0xfc, 0x42, 0xc8, 0xd5, 0x9a, 0xd3, 0xa1, 0xe8, 0x29,
0x2d, 0xfd, 0x9f, 0x3c, 0x28, 0x49, 0x0b, 0x3e, 0xe0, 0xac, 0x3d, 0x1f, 0x99, 0xb5, 0xdf, 0xcc,
0xf0, 0xf1, 0xc9, 0xcc, 0x32, 0x27, 0xeb, 0x6f, 0x63, 0x93, 0xf5, 0xdb, 0x99, 0x95, 0xa7, 0xcf,
0xd1, 0x1d, 0xb0, 0x98, 0x24, 0x00, 0x37, 0xc1, 0x02, 0x7d, 0xa8, 0x69, 0x4e, 0x16, 0x20, 0x99,
0x81, 0x49, 0x31, 0x13, 0x84, 0x4e, 0x80, 0x96, 0x8a, 0x30, 0x1b, 0x39, 0x42, 0x33, 0xdc, 0x15,
0x3e, 0x06, 0x54, 0xfd, 0xd7, 0x26, 0xe8, 0x13, 0x75, 0x8e, 0x12, 0x84, 0xf5, 0xe5, 0xcd, 0xcb,
0xea, 0xdc, 0xad, 0x58, 0xff, 0x8b, 0xf5, 0xc7, 0x7d, 0x35, 0x77, 0x23, 0xd6, 0xad, 0x58, 0x2f,
0xc4, 0xfa, 0xeb, 0x55, 0x75, 0xee, 0x97, 0xfc, 0xa0, 0xfe, 0x36, 0x00, 0x00, 0xff, 0xff, 0x45,
0xec, 0x9a, 0x15, 0x8e, 0x09, 0x00, 0x00,
}

View file

@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.autoscaling.v1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".

View file

@ -29,13 +29,13 @@ const GroupName = "autoscaling"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&HorizontalPodAutoscaler{},
&HorizontalPodAutoscalerList{},
@ -44,4 +44,5 @@ func addKnownTypes(scheme *runtime.Scheme) {
&v1.DeleteOptions{},
)
versionedwatch.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -24,10 +24,17 @@ import (
api "k8s.io/kubernetes/pkg/api"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1_CrossVersionObjectReference_To_autoscaling_CrossVersionObjectReference,
Convert_autoscaling_CrossVersionObjectReference_To_v1_CrossVersionObjectReference,
Convert_v1_HorizontalPodAutoscaler_To_autoscaling_HorizontalPodAutoscaler,
@ -44,10 +51,7 @@ func init() {
Convert_autoscaling_ScaleSpec_To_v1_ScaleSpec,
Convert_v1_ScaleStatus_To_autoscaling_ScaleStatus,
Convert_autoscaling_ScaleStatus_To_v1_ScaleStatus,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
)
}
func autoConvert_v1_CrossVersionObjectReference_To_autoscaling_CrossVersionObjectReference(in *CrossVersionObjectReference, out *autoscaling.CrossVersionObjectReference, s conversion.Scope) error {

View file

@ -0,0 +1,186 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1
import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_CrossVersionObjectReference, InType: reflect.TypeOf(&CrossVersionObjectReference{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscaler, InType: reflect.TypeOf(&HorizontalPodAutoscaler{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerList, InType: reflect.TypeOf(&HorizontalPodAutoscalerList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerSpec, InType: reflect.TypeOf(&HorizontalPodAutoscalerSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerStatus, InType: reflect.TypeOf(&HorizontalPodAutoscalerStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Scale, InType: reflect.TypeOf(&Scale{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ScaleSpec, InType: reflect.TypeOf(&ScaleSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ScaleStatus, InType: reflect.TypeOf(&ScaleStatus{})},
)
}
func DeepCopy_v1_CrossVersionObjectReference(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*CrossVersionObjectReference)
out := out.(*CrossVersionObjectReference)
out.Kind = in.Kind
out.Name = in.Name
out.APIVersion = in.APIVersion
return nil
}
}
func DeepCopy_v1_HorizontalPodAutoscaler(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscaler)
out := out.(*HorizontalPodAutoscaler)
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v1_HorizontalPodAutoscalerList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerList)
out := out.(*HorizontalPodAutoscalerList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]HorizontalPodAutoscaler, len(*in))
for i := range *in {
if err := DeepCopy_v1_HorizontalPodAutoscaler(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_v1_HorizontalPodAutoscalerSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerSpec)
out := out.(*HorizontalPodAutoscalerSpec)
out.ScaleTargetRef = in.ScaleTargetRef
if in.MinReplicas != nil {
in, out := &in.MinReplicas, &out.MinReplicas
*out = new(int32)
**out = **in
} else {
out.MinReplicas = nil
}
out.MaxReplicas = in.MaxReplicas
if in.TargetCPUUtilizationPercentage != nil {
in, out := &in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
*out = new(int32)
**out = **in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
}
}
func DeepCopy_v1_HorizontalPodAutoscalerStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerStatus)
out := out.(*HorizontalPodAutoscalerStatus)
if in.ObservedGeneration != nil {
in, out := &in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
if in.LastScaleTime != nil {
in, out := &in.LastScaleTime, &out.LastScaleTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.LastScaleTime = nil
}
out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas
if in.CurrentCPUUtilizationPercentage != nil {
in, out := &in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
*out = new(int32)
**out = **in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
}
}
func DeepCopy_v1_Scale(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Scale)
out := out.(*Scale)
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
out.Status = in.Status
return nil
}
}
func DeepCopy_v1_ScaleSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScaleSpec)
out := out.(*ScaleSpec)
out.Replicas = in.Replicas
return nil
}
}
func DeepCopy_v1_ScaleStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScaleStatus)
out := out.(*ScaleStatus)
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}
}

View file

@ -0,0 +1,186 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package autoscaling
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_CrossVersionObjectReference, InType: reflect.TypeOf(&CrossVersionObjectReference{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscaler, InType: reflect.TypeOf(&HorizontalPodAutoscaler{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerList, InType: reflect.TypeOf(&HorizontalPodAutoscalerList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerSpec, InType: reflect.TypeOf(&HorizontalPodAutoscalerSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerStatus, InType: reflect.TypeOf(&HorizontalPodAutoscalerStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_Scale, InType: reflect.TypeOf(&Scale{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_ScaleSpec, InType: reflect.TypeOf(&ScaleSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_ScaleStatus, InType: reflect.TypeOf(&ScaleStatus{})},
)
}
func DeepCopy_autoscaling_CrossVersionObjectReference(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*CrossVersionObjectReference)
out := out.(*CrossVersionObjectReference)
out.Kind = in.Kind
out.Name = in.Name
out.APIVersion = in.APIVersion
return nil
}
}
func DeepCopy_autoscaling_HorizontalPodAutoscaler(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscaler)
out := out.(*HorizontalPodAutoscaler)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerList)
out := out.(*HorizontalPodAutoscalerList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]HorizontalPodAutoscaler, len(*in))
for i := range *in {
if err := DeepCopy_autoscaling_HorizontalPodAutoscaler(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerSpec)
out := out.(*HorizontalPodAutoscalerSpec)
out.ScaleTargetRef = in.ScaleTargetRef
if in.MinReplicas != nil {
in, out := &in.MinReplicas, &out.MinReplicas
*out = new(int32)
**out = **in
} else {
out.MinReplicas = nil
}
out.MaxReplicas = in.MaxReplicas
if in.TargetCPUUtilizationPercentage != nil {
in, out := &in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
*out = new(int32)
**out = **in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
}
}
func DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*HorizontalPodAutoscalerStatus)
out := out.(*HorizontalPodAutoscalerStatus)
if in.ObservedGeneration != nil {
in, out := &in.ObservedGeneration, &out.ObservedGeneration
*out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
if in.LastScaleTime != nil {
in, out := &in.LastScaleTime, &out.LastScaleTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.LastScaleTime = nil
}
out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas
if in.CurrentCPUUtilizationPercentage != nil {
in, out := &in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
*out = new(int32)
**out = **in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
}
}
func DeepCopy_autoscaling_Scale(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Scale)
out := out.(*Scale)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
out.Spec = in.Spec
out.Status = in.Status
return nil
}
}
func DeepCopy_autoscaling_ScaleSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScaleSpec)
out := out.(*ScaleSpec)
out.Replicas = in.Replicas
return nil
}
}
func DeepCopy_autoscaling_ScaleStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScaleStatus)
out := out.(*ScaleStatus)
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}
}

View file

@ -1,258 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package batch
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_batch_Job,
DeepCopy_batch_JobCondition,
DeepCopy_batch_JobList,
DeepCopy_batch_JobSpec,
DeepCopy_batch_JobStatus,
DeepCopy_batch_JobTemplate,
DeepCopy_batch_JobTemplateSpec,
DeepCopy_batch_ScheduledJob,
DeepCopy_batch_ScheduledJobList,
DeepCopy_batch_ScheduledJobSpec,
DeepCopy_batch_ScheduledJobStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_batch_Job(in Job, out *Job, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_batch_JobStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_JobCondition(in JobCondition, out *JobCondition, c *conversion.Cloner) error {
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
func DeepCopy_batch_JobList(in JobList, out *JobList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]Job, len(in))
for i := range in {
if err := DeepCopy_batch_Job(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_batch_JobSpec(in JobSpec, out *JobSpec, c *conversion.Cloner) error {
if in.Parallelism != nil {
in, out := in.Parallelism, &out.Parallelism
*out = new(int32)
**out = *in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := in.Completions, &out.Completions
*out = new(int32)
**out = *in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = *in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = *in
} else {
out.ManualSelector = nil
}
if err := api.DeepCopy_api_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_JobStatus(in JobStatus, out *JobStatus, c *conversion.Cloner) error {
if in.Conditions != nil {
in, out := in.Conditions, &out.Conditions
*out = make([]JobCondition, len(in))
for i := range in {
if err := DeepCopy_batch_JobCondition(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
func DeepCopy_batch_JobTemplate(in JobTemplate, out *JobTemplate, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_JobTemplateSpec(in JobTemplateSpec, out *JobTemplateSpec, c *conversion.Cloner) error {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_ScheduledJob(in ScheduledJob, out *ScheduledJob, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_ScheduledJobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_batch_ScheduledJobStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_ScheduledJobList(in ScheduledJobList, out *ScheduledJobList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]ScheduledJob, len(in))
for i := range in {
if err := DeepCopy_batch_ScheduledJob(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_batch_ScheduledJobSpec(in ScheduledJobSpec, out *ScheduledJobSpec, c *conversion.Cloner) error {
out.Schedule = in.Schedule
if in.StartingDeadlineSeconds != nil {
in, out := in.StartingDeadlineSeconds, &out.StartingDeadlineSeconds
*out = new(int64)
**out = *in
} else {
out.StartingDeadlineSeconds = nil
}
out.ConcurrencyPolicy = in.ConcurrencyPolicy
if in.Suspend != nil {
in, out := in.Suspend, &out.Suspend
*out = new(bool)
**out = *in
} else {
out.Suspend = nil
}
if err := DeepCopy_batch_JobTemplateSpec(in.JobTemplate, &out.JobTemplate, c); err != nil {
return err
}
return nil
}
func DeepCopy_batch_ScheduledJobStatus(in ScheduledJobStatus, out *ScheduledJobStatus, c *conversion.Cloner) error {
if in.Active != nil {
in, out := in.Active, &out.Active
*out = make([]api.ObjectReference, len(in))
for i := range in {
(*out)[i] = in[i]
}
} else {
out.Active = nil
}
if in.LastScheduleTime != nil {
in, out := in.LastScheduleTime, &out.LastScheduleTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.LastScheduleTime = nil
}
return nil
}

View file

@ -120,7 +120,10 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
batch.AddToScheme(api.Scheme)
if err := batch.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -129,9 +132,15 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1.SchemeGroupVersion:
v1.AddToScheme(api.Scheme)
if err := v1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
case v2alpha1.SchemeGroupVersion:
v2alpha1.AddToScheme(api.Scheme)
if err := v2alpha1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -38,13 +38,13 @@ func Resource(resource string) unversioned.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&Job{},
&JobList{},
@ -53,4 +53,5 @@ func addKnownTypes(scheme *runtime.Scheme) {
&ScheduledJobList{},
&api.ListOptions{},
)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -209,7 +209,7 @@ type ScheduledJobSpec struct {
// Suspend flag tells the controller to suspend subsequent executions, it does
// not apply to already started executions. Defaults to false.
Suspend *bool `json:"suspend"`
Suspend *bool `json:"suspend,omitempty"`
// JobTemplate is the object that describes the job that will be created when
// executing a ScheduledJob.

View file

@ -27,18 +27,17 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) {
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions
err := scheme.AddConversionFuncs(
Convert_batch_JobSpec_To_v1_JobSpec,
Convert_v1_JobSpec_To_batch_JobSpec,
)
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
return err
}
err = api.Scheme.AddFieldLabelConversionFunc("batch/v1", "Job",
return api.Scheme.AddFieldLabelConversionFunc("batch/v1", "Job",
func(label, value string) (string, string, error) {
switch label {
case "metadata.name", "metadata.namespace", "status.successful":
@ -46,11 +45,8 @@ func addConversionFuncs(scheme *runtime.Scheme) {
default:
return "", "", fmt.Errorf("field label not supported: %s", label)
}
})
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
}
},
)
}
func Convert_batch_JobSpec_To_v1_JobSpec(in *batch.JobSpec, out *JobSpec, s conversion.Scope) error {

View file

@ -1,197 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1_Job,
DeepCopy_v1_JobCondition,
DeepCopy_v1_JobList,
DeepCopy_v1_JobSpec,
DeepCopy_v1_JobStatus,
DeepCopy_v1_LabelSelector,
DeepCopy_v1_LabelSelectorRequirement,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1_Job(in Job, out *Job, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1_JobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1_JobStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1_JobCondition(in JobCondition, out *JobCondition, c *conversion.Cloner) error {
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
func DeepCopy_v1_JobList(in JobList, out *JobList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]Job, len(in))
for i := range in {
if err := DeepCopy_v1_Job(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v1_JobSpec(in JobSpec, out *JobSpec, c *conversion.Cloner) error {
if in.Parallelism != nil {
in, out := in.Parallelism, &out.Parallelism
*out = new(int32)
**out = *in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := in.Completions, &out.Completions
*out = new(int32)
**out = *in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = *in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := in.Selector, &out.Selector
*out = new(LabelSelector)
if err := DeepCopy_v1_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = *in
} else {
out.ManualSelector = nil
}
if err := api_v1.DeepCopy_v1_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1_JobStatus(in JobStatus, out *JobStatus, c *conversion.Cloner) error {
if in.Conditions != nil {
in, out := in.Conditions, &out.Conditions
*out = make([]JobCondition, len(in))
for i := range in {
if err := DeepCopy_v1_JobCondition(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
func DeepCopy_v1_LabelSelector(in LabelSelector, out *LabelSelector, c *conversion.Cloner) error {
if in.MatchLabels != nil {
in, out := in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(in))
for i := range in {
if err := DeepCopy_v1_LabelSelectorRequirement(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func DeepCopy_v1_LabelSelectorRequirement(in LabelSelectorRequirement, out *LabelSelectorRequirement, c *conversion.Cloner) error {
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := in.Values, &out.Values
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Values = nil
}
return nil
}

View file

@ -20,8 +20,8 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs(
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs(
SetDefaults_Job,
)
}

View file

@ -42,6 +42,10 @@ import math "math"
import k8s_io_kubernetes_pkg_api_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1"
import strings "strings"
import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
@ -49,33 +53,39 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func (m *Job) Reset() { *m = Job{} }
func (m *Job) String() string { return proto.CompactTextString(m) }
func (*Job) ProtoMessage() {}
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1
func (m *JobCondition) Reset() { *m = JobCondition{} }
func (m *JobCondition) String() string { return proto.CompactTextString(m) }
func (*JobCondition) ProtoMessage() {}
func (m *Job) Reset() { *m = Job{} }
func (*Job) ProtoMessage() {}
func (*Job) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *JobList) Reset() { *m = JobList{} }
func (m *JobList) String() string { return proto.CompactTextString(m) }
func (*JobList) ProtoMessage() {}
func (m *JobCondition) Reset() { *m = JobCondition{} }
func (*JobCondition) ProtoMessage() {}
func (*JobCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *JobSpec) Reset() { *m = JobSpec{} }
func (m *JobSpec) String() string { return proto.CompactTextString(m) }
func (*JobSpec) ProtoMessage() {}
func (m *JobList) Reset() { *m = JobList{} }
func (*JobList) ProtoMessage() {}
func (*JobList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (m *JobStatus) Reset() { *m = JobStatus{} }
func (m *JobStatus) String() string { return proto.CompactTextString(m) }
func (*JobStatus) ProtoMessage() {}
func (m *JobSpec) Reset() { *m = JobSpec{} }
func (*JobSpec) ProtoMessage() {}
func (*JobSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (m *LabelSelector) String() string { return proto.CompactTextString(m) }
func (*LabelSelector) ProtoMessage() {}
func (m *JobStatus) Reset() { *m = JobStatus{} }
func (*JobStatus) ProtoMessage() {}
func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (m *LabelSelectorRequirement) String() string { return proto.CompactTextString(m) }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (*LabelSelector) ProtoMessage() {}
func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{6}
}
func init() {
proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.Job")
@ -591,6 +601,115 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Job) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Job{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "JobSpec", "JobSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "JobStatus", "JobStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
`LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1), `&`, ``, 1) + `,`,
`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`}`,
}, "")
return s
}
func (this *JobList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Job", "Job", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobSpec{`,
`Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`,
`Completions:` + valueToStringGenerated(this.Completions) + `,`,
`ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "LabelSelector", 1) + `,`,
`ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobStatus{`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "JobCondition", "JobCondition", 1), `&`, ``, 1) + `,`,
`StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`Active:` + fmt.Sprintf("%v", this.Active) + `,`,
`Succeeded:` + fmt.Sprintf("%v", this.Succeeded) + `,`,
`Failed:` + fmt.Sprintf("%v", this.Failed) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelector) String() string {
if this == nil {
return "nil"
}
keysForMatchLabels := make([]string, 0, len(this.MatchLabels))
for k := range this.MatchLabels {
keysForMatchLabels = append(keysForMatchLabels, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForMatchLabels)
mapStringForMatchLabels := "map[string]string{"
for _, k := range keysForMatchLabels {
mapStringForMatchLabels += fmt.Sprintf("%v: %v,", k, this.MatchLabels[k])
}
mapStringForMatchLabels += "}"
s := strings.Join([]string{`&LabelSelector{`,
`MatchLabels:` + mapStringForMatchLabels + `,`,
`MatchExpressions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.MatchExpressions), "LabelSelectorRequirement", "LabelSelectorRequirement", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelectorRequirement) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LabelSelectorRequirement{`,
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
`Operator:` + fmt.Sprintf("%v", this.Operator) + `,`,
`Values:` + fmt.Sprintf("%v", this.Values) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *Job) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
@ -1899,3 +2018,72 @@ var (
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
)
var fileDescriptorGenerated = []byte{
// 1027 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x6e, 0x23, 0x45,
0x10, 0x8e, 0x3d, 0xb1, 0x63, 0xb7, 0x93, 0xac, 0x69, 0x88, 0x64, 0x2c, 0x91, 0xac, 0x0c, 0x42,
0xbb, 0x62, 0x33, 0x23, 0x07, 0x90, 0x56, 0x2b, 0xb1, 0x12, 0x13, 0x82, 0x04, 0xc4, 0x24, 0x6a,
0x47, 0x2b, 0xc4, 0xcf, 0xa1, 0x3d, 0xae, 0x75, 0x86, 0x8c, 0x67, 0x86, 0xe9, 0x1e, 0x43, 0x38,
0x21, 0x71, 0xe0, 0xca, 0x43, 0xf0, 0x0c, 0xec, 0x2b, 0xe4, 0xb8, 0x70, 0xe2, 0x14, 0xc1, 0xf2,
0x16, 0x9c, 0xe8, 0xee, 0xe9, 0xf9, 0xf1, 0x5f, 0xe4, 0xec, 0xa1, 0x25, 0x77, 0x75, 0x7d, 0x5f,
0x55, 0x77, 0x7d, 0x55, 0x63, 0xf4, 0xee, 0xc5, 0x43, 0x66, 0xba, 0x81, 0x75, 0x11, 0x0f, 0x20,
0xf2, 0x81, 0x03, 0xb3, 0xc2, 0x8b, 0x91, 0x45, 0x43, 0x97, 0x59, 0x03, 0xca, 0x9d, 0x73, 0x6b,
0xd2, 0xb5, 0x46, 0xe0, 0x43, 0x44, 0x39, 0x0c, 0xcd, 0x30, 0x0a, 0x78, 0x80, 0xdf, 0x4c, 0x40,
0x66, 0x0e, 0x32, 0x05, 0xc8, 0x94, 0x20, 0x53, 0x81, 0xcc, 0x49, 0xb7, 0xbd, 0x3f, 0x72, 0xf9,
0x79, 0x3c, 0x30, 0x9d, 0x60, 0x6c, 0x8d, 0x82, 0x51, 0x60, 0x29, 0xec, 0x20, 0x7e, 0xaa, 0x76,
0x6a, 0xa3, 0x7e, 0x25, 0x9c, 0xed, 0x83, 0xa5, 0x89, 0x58, 0x11, 0xb0, 0x20, 0x8e, 0x1c, 0x98,
0xcd, 0xa3, 0xfd, 0xfe, 0x72, 0x4c, 0xec, 0x4f, 0x20, 0x62, 0x6e, 0xe0, 0xc3, 0x70, 0x0e, 0xf6,
0x60, 0x39, 0x6c, 0xfe, 0xb2, 0xed, 0xfd, 0xc5, 0xde, 0x51, 0xec, 0x73, 0x77, 0x3c, 0x9f, 0x53,
0x77, 0xb1, 0x7b, 0xcc, 0x5d, 0xcf, 0x72, 0x7d, 0xce, 0x78, 0x34, 0x0b, 0xe9, 0xfc, 0x52, 0x46,
0xc6, 0xa7, 0xc1, 0x00, 0x7f, 0x81, 0x6a, 0x63, 0xe0, 0x74, 0x48, 0x39, 0x6d, 0x95, 0xee, 0x96,
0xee, 0x35, 0x0e, 0xee, 0x99, 0x4b, 0x5f, 0x5a, 0x3c, 0xb1, 0x79, 0x32, 0xf8, 0x16, 0x1c, 0xde,
0x13, 0x18, 0x1b, 0x5f, 0x5d, 0xef, 0xad, 0xbd, 0xb8, 0xde, 0x43, 0xb9, 0x8d, 0x64, 0x6c, 0xf8,
0x73, 0xb4, 0xce, 0x42, 0x70, 0x5a, 0x65, 0xc5, 0xfa, 0xc0, 0x5c, 0xa1, 0x7e, 0xa6, 0xc8, 0xa8,
0x2f, 0x30, 0xf6, 0xa6, 0x66, 0x5e, 0x97, 0x3b, 0xa2, 0x78, 0xf0, 0x13, 0x54, 0x65, 0x9c, 0xf2,
0x98, 0xb5, 0x0c, 0xc5, 0x68, 0xae, 0xcc, 0xa8, 0x50, 0xf6, 0xb6, 0xe6, 0xac, 0x26, 0x7b, 0xa2,
0xd9, 0x3a, 0x7f, 0x1a, 0x68, 0x53, 0x78, 0x1d, 0x06, 0xfe, 0xd0, 0xe5, 0xa2, 0x78, 0xf8, 0x3d,
0xb4, 0xce, 0x2f, 0x43, 0x50, 0xcf, 0x51, 0xb7, 0xef, 0xa6, 0xa9, 0x9c, 0x09, 0xdb, 0x7f, 0xd7,
0x7b, 0xcd, 0xa2, 0xaf, 0xb4, 0x11, 0xe5, 0x5d, 0x48, 0xaf, 0xac, 0x70, 0x8f, 0xa7, 0xc3, 0x09,
0xe4, 0x8d, 0x12, 0x30, 0x33, 0xce, 0xe9, 0xf4, 0xf0, 0x39, 0xda, 0xf2, 0x28, 0xe3, 0xa7, 0x51,
0x30, 0x80, 0x33, 0x51, 0x7c, 0x7d, 0xfb, 0x77, 0x6e, 0xa8, 0x52, 0x41, 0x87, 0xa6, 0x84, 0xd8,
0x3b, 0x3a, 0x97, 0xad, 0xe3, 0x22, 0x13, 0x99, 0x26, 0xc6, 0xdf, 0x23, 0x2c, 0x0d, 0x67, 0x11,
0xf5, 0x59, 0x72, 0x3b, 0x19, 0x6e, 0xfd, 0xf6, 0xe1, 0xda, 0x3a, 0x1c, 0x3e, 0x9e, 0xa3, 0x23,
0x0b, 0x42, 0xe0, 0xb7, 0x51, 0x35, 0x02, 0xca, 0x02, 0xbf, 0x55, 0x51, 0x4f, 0x97, 0x55, 0x8a,
0x28, 0x2b, 0xd1, 0xa7, 0xf8, 0x3e, 0xda, 0x18, 0x03, 0x63, 0x74, 0x04, 0xad, 0xaa, 0x72, 0xbc,
0xa3, 0x1d, 0x37, 0x7a, 0x89, 0x99, 0xa4, 0xe7, 0x9d, 0x67, 0x25, 0xb4, 0x21, 0x0a, 0x75, 0xec,
0x32, 0x8e, 0xbf, 0x99, 0x93, 0xb8, 0xb5, 0xe2, 0x6d, 0x24, 0x5c, 0x29, 0xbd, 0xa9, 0x03, 0xd5,
0x52, 0x4b, 0x41, 0xe7, 0x3d, 0x54, 0x71, 0x39, 0x8c, 0x65, 0xdd, 0x8d, 0x9b, 0xdb, 0x67, 0x5a,
0x96, 0xf6, 0x96, 0x26, 0xad, 0x7c, 0x22, 0xe1, 0x24, 0x61, 0xe9, 0x3c, 0x33, 0x54, 0xe6, 0x52,
0xf8, 0xb8, 0x8b, 0x1a, 0x21, 0x8d, 0xa8, 0xe7, 0x81, 0xe7, 0xb2, 0xb1, 0x4a, 0xbe, 0x62, 0xdf,
0x11, 0x90, 0xc6, 0x69, 0x6e, 0x26, 0x45, 0x1f, 0x09, 0x11, 0xc3, 0x2f, 0xf4, 0x40, 0xbe, 0x6e,
0xa2, 0x45, 0x0d, 0x39, 0xcc, 0xcd, 0xa4, 0xe8, 0x83, 0x4f, 0xd0, 0x0e, 0x75, 0xb8, 0x3b, 0x81,
0x8f, 0x80, 0x0e, 0x3d, 0xd7, 0x87, 0x3e, 0x38, 0x42, 0x8c, 0x49, 0x9f, 0x19, 0xf6, 0xeb, 0x02,
0xbc, 0xf3, 0xe1, 0x22, 0x07, 0xb2, 0x18, 0x87, 0xbf, 0x46, 0x35, 0x06, 0x9e, 0x98, 0x08, 0x41,
0xa4, 0xe5, 0x73, 0xb0, 0xd2, 0xa3, 0x1c, 0xd3, 0x01, 0x78, 0x7d, 0x8d, 0xb4, 0x37, 0xe5, 0x7b,
0xa7, 0x3b, 0x92, 0x31, 0xe2, 0x47, 0x68, 0x7b, 0x4c, 0xfd, 0x98, 0x66, 0x9e, 0x4a, 0x35, 0x35,
0x1b, 0x0b, 0xff, 0xed, 0xde, 0xd4, 0x09, 0x99, 0xf1, 0xc4, 0x5f, 0xa1, 0x9a, 0x78, 0xe4, 0xd0,
0x13, 0x83, 0x50, 0x49, 0xa8, 0x71, 0xb0, 0x7f, 0xf3, 0xb4, 0x3b, 0x0d, 0x86, 0x67, 0x1a, 0xa0,
0x06, 0x53, 0x26, 0x84, 0xd4, 0x4a, 0x32, 0xc2, 0xce, 0xef, 0x06, 0xaa, 0x67, 0xe3, 0x06, 0x03,
0x42, 0x4e, 0xda, 0xd2, 0x4c, 0x94, 0x4e, 0x6a, 0xa3, 0xbb, 0xaa, 0x36, 0xb2, 0x61, 0x90, 0xcf,
0xd8, 0xcc, 0xc4, 0x48, 0x81, 0x58, 0xcc, 0xef, 0xba, 0x18, 0x14, 0x11, 0x57, 0xbd, 0x5a, 0xbe,
0x7d, 0xaf, 0x6e, 0x09, 0xee, 0x7a, 0x3f, 0x65, 0x20, 0x39, 0x19, 0x1e, 0xa1, 0xed, 0x5c, 0x25,
0x2f, 0x3b, 0x79, 0x54, 0x51, 0x0e, 0xa7, 0x68, 0xc8, 0x0c, 0xad, 0x6c, 0xff, 0x44, 0x47, 0x4a,
0x2c, 0x95, 0xbc, 0xfd, 0x13, 0xd1, 0x11, 0x7d, 0x8a, 0x2d, 0x71, 0xd5, 0xd8, 0x71, 0x00, 0x86,
0x30, 0x54, 0x35, 0xaf, 0xd8, 0xaf, 0x68, 0xd7, 0x7a, 0x3f, 0x3d, 0x20, 0xb9, 0x8f, 0x24, 0x7e,
0x4a, 0x5d, 0x4f, 0x78, 0x57, 0xa7, 0x89, 0x3f, 0x56, 0x56, 0xa2, 0x4f, 0x3b, 0x7f, 0x94, 0xd1,
0xd6, 0x94, 0xf6, 0xf0, 0x8f, 0xa8, 0x31, 0x96, 0xe5, 0x50, 0xd6, 0xb4, 0x7a, 0x87, 0xb7, 0x17,
0xb1, 0xd9, 0xcb, 0x59, 0x8e, 0x7c, 0x1e, 0x5d, 0xda, 0xaf, 0xea, 0x1c, 0x1a, 0x85, 0x13, 0x52,
0x0c, 0x86, 0x7f, 0x2e, 0xa1, 0xa6, 0xda, 0x1f, 0xfd, 0x10, 0x8a, 0x7f, 0x21, 0x4c, 0xf7, 0xb1,
0xcc, 0xe0, 0x83, 0xdb, 0x67, 0x40, 0xe0, 0xbb, 0xd8, 0x8d, 0x60, 0x0c, 0x3e, 0xb7, 0x5b, 0x3a,
0x76, 0xb3, 0x37, 0x43, 0x4f, 0xe6, 0x02, 0xb6, 0x1f, 0xa3, 0xe6, 0x6c, 0xee, 0xb8, 0x89, 0x8c,
0x0b, 0xb8, 0x4c, 0xbe, 0x8b, 0x44, 0xfe, 0xc4, 0xaf, 0xa1, 0xca, 0x84, 0x7a, 0x71, 0xa2, 0xbc,
0x3a, 0x49, 0x36, 0x8f, 0xca, 0x0f, 0x4b, 0x9d, 0xdf, 0x4a, 0xa8, 0xb5, 0x2c, 0x11, 0xfc, 0x46,
0x81, 0xc8, 0x6e, 0xe8, 0xac, 0x8c, 0xcf, 0xe0, 0x32, 0x61, 0x3d, 0x42, 0xb5, 0x20, 0x94, 0xff,
0x56, 0x44, 0x6f, 0x27, 0x1f, 0xd3, 0xfb, 0x69, 0xdb, 0x9d, 0x68, 0xbb, 0xf8, 0x9c, 0xee, 0x4c,
0xd1, 0xa7, 0x07, 0x24, 0x83, 0xe2, 0x0e, 0xaa, 0xaa, 0x7c, 0xe4, 0x20, 0x33, 0x04, 0x09, 0x92,
0xa5, 0x7f, 0xa2, 0x2c, 0x44, 0x9f, 0xd8, 0x6f, 0x5d, 0xfd, 0xb3, 0xbb, 0xf6, 0x5c, 0xac, 0xbf,
0xc4, 0xfa, 0xe9, 0xc5, 0x6e, 0xe9, 0x4a, 0xac, 0xe7, 0x62, 0xfd, 0x2d, 0xd6, 0xaf, 0xff, 0xee,
0xae, 0x7d, 0x59, 0x9e, 0x74, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x8b, 0x10, 0xf1, 0xb1,
0x0a, 0x00, 0x00,
}

View file

@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".

View file

@ -29,14 +29,13 @@ const GroupName = "batch"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v1"}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&Job{},
&JobList{},
@ -44,4 +43,5 @@ func addKnownTypes(scheme *runtime.Scheme) {
&v1.DeleteOptions{},
)
versionedwatch.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -26,10 +26,17 @@ import (
api_v1 "k8s.io/kubernetes/pkg/api/v1"
batch "k8s.io/kubernetes/pkg/apis/batch"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1_Job_To_batch_Job,
Convert_batch_Job_To_v1_Job,
Convert_v1_JobCondition_To_batch_JobCondition,
@ -44,10 +51,7 @@ func init() {
Convert_unversioned_LabelSelector_To_v1_LabelSelector,
Convert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement,
Convert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
)
}
func autoConvert_v1_Job_To_batch_Job(in *Job, out *batch.Job, s conversion.Scope) error {

View file

@ -0,0 +1,229 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1
import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Job, InType: reflect.TypeOf(&Job{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobCondition, InType: reflect.TypeOf(&JobCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobList, InType: reflect.TypeOf(&JobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobSpec, InType: reflect.TypeOf(&JobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
)
}
func DeepCopy_v1_Job(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Job)
out := out.(*Job)
out.TypeMeta = in.TypeMeta
if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1_JobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1_JobStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v1_JobCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobCondition)
out := out.(*JobCondition)
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
}
func DeepCopy_v1_JobList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobList)
out := out.(*JobList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Job, len(*in))
for i := range *in {
if err := DeepCopy_v1_Job(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_v1_JobSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobSpec)
out := out.(*JobSpec)
if in.Parallelism != nil {
in, out := &in.Parallelism, &out.Parallelism
*out = new(int32)
**out = **in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := &in.Completions, &out.Completions
*out = new(int32)
**out = **in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := &in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = **in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := DeepCopy_v1_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := &in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = **in
} else {
out.ManualSelector = nil
}
if err := api_v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v1_JobStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobStatus)
out := out.(*JobStatus)
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]JobCondition, len(*in))
for i := range *in {
if err := DeepCopy_v1_JobCondition(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := &in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := &in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
}
func DeepCopy_v1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelector)
out := out.(*LabelSelector)
if in.MatchLabels != nil {
in, out := &in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range *in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := DeepCopy_v1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
}
func DeepCopy_v1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelectorRequirement)
out := out.(*LabelSelectorRequirement)
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := &in.Values, &out.Values
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Values = nil
}
return nil
}
}

View file

@ -28,15 +28,14 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) {
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions
err := scheme.AddConversionFuncs(
Convert_batch_JobSpec_To_v2alpha1_JobSpec,
Convert_v2alpha1_JobSpec_To_batch_JobSpec,
)
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
return err
}
// Add field label conversions for kinds having selectable nothing but ObjectMeta fields.
@ -50,11 +49,11 @@ func addConversionFuncs(scheme *runtime.Scheme) {
return "", "", fmt.Errorf("field label not supported: %s", label)
}
})
if err != nil {
return err
}
}
if err != nil {
// If one of the conversion functions is malformed, detect it immediately.
panic(err)
}
return nil
}
func Convert_batch_JobSpec_To_v2alpha1_JobSpec(in *batch.JobSpec, out *JobSpec, s conversion.Scope) error {

View file

@ -1,298 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v2alpha1
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v2alpha1_Job,
DeepCopy_v2alpha1_JobCondition,
DeepCopy_v2alpha1_JobList,
DeepCopy_v2alpha1_JobSpec,
DeepCopy_v2alpha1_JobStatus,
DeepCopy_v2alpha1_JobTemplate,
DeepCopy_v2alpha1_JobTemplateSpec,
DeepCopy_v2alpha1_LabelSelector,
DeepCopy_v2alpha1_LabelSelectorRequirement,
DeepCopy_v2alpha1_ScheduledJob,
DeepCopy_v2alpha1_ScheduledJobList,
DeepCopy_v2alpha1_ScheduledJobSpec,
DeepCopy_v2alpha1_ScheduledJobStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v2alpha1_Job(in Job, out *Job, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_JobCondition(in JobCondition, out *JobCondition, c *conversion.Cloner) error {
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
func DeepCopy_v2alpha1_JobList(in JobList, out *JobList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]Job, len(in))
for i := range in {
if err := DeepCopy_v2alpha1_Job(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v2alpha1_JobSpec(in JobSpec, out *JobSpec, c *conversion.Cloner) error {
if in.Parallelism != nil {
in, out := in.Parallelism, &out.Parallelism
*out = new(int32)
**out = *in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := in.Completions, &out.Completions
*out = new(int32)
**out = *in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = *in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := in.Selector, &out.Selector
*out = new(LabelSelector)
if err := DeepCopy_v2alpha1_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = *in
} else {
out.ManualSelector = nil
}
if err := v1.DeepCopy_v1_PodTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_JobStatus(in JobStatus, out *JobStatus, c *conversion.Cloner) error {
if in.Conditions != nil {
in, out := in.Conditions, &out.Conditions
*out = make([]JobCondition, len(in))
for i := range in {
if err := DeepCopy_v2alpha1_JobCondition(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
func DeepCopy_v2alpha1_JobTemplate(in JobTemplate, out *JobTemplate, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobTemplateSpec(in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_JobTemplateSpec(in JobTemplateSpec, out *JobTemplateSpec, c *conversion.Cloner) error {
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_LabelSelector(in LabelSelector, out *LabelSelector, c *conversion.Cloner) error {
if in.MatchLabels != nil {
in, out := in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(in))
for i := range in {
if err := DeepCopy_v2alpha1_LabelSelectorRequirement(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func DeepCopy_v2alpha1_LabelSelectorRequirement(in LabelSelectorRequirement, out *LabelSelectorRequirement, c *conversion.Cloner) error {
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := in.Values, &out.Values
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Values = nil
}
return nil
}
func DeepCopy_v2alpha1_ScheduledJob(in ScheduledJob, out *ScheduledJob, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_ScheduledJobSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_ScheduledJobStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_ScheduledJobList(in ScheduledJobList, out *ScheduledJobList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]ScheduledJob, len(in))
for i := range in {
if err := DeepCopy_v2alpha1_ScheduledJob(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v2alpha1_ScheduledJobSpec(in ScheduledJobSpec, out *ScheduledJobSpec, c *conversion.Cloner) error {
out.Schedule = in.Schedule
if in.StartingDeadlineSeconds != nil {
in, out := in.StartingDeadlineSeconds, &out.StartingDeadlineSeconds
*out = new(int64)
**out = *in
} else {
out.StartingDeadlineSeconds = nil
}
out.ConcurrencyPolicy = in.ConcurrencyPolicy
if in.Suspend != nil {
in, out := in.Suspend, &out.Suspend
*out = new(bool)
**out = *in
} else {
out.Suspend = nil
}
if err := DeepCopy_v2alpha1_JobTemplateSpec(in.JobTemplate, &out.JobTemplate, c); err != nil {
return err
}
return nil
}
func DeepCopy_v2alpha1_ScheduledJobStatus(in ScheduledJobStatus, out *ScheduledJobStatus, c *conversion.Cloner) error {
if in.Active != nil {
in, out := in.Active, &out.Active
*out = make([]v1.ObjectReference, len(in))
for i := range in {
(*out)[i] = in[i]
}
} else {
out.Active = nil
}
if in.LastScheduleTime != nil {
in, out := in.LastScheduleTime, &out.LastScheduleTime
*out = new(unversioned.Time)
**out = in.DeepCopy()
} else {
out.LastScheduleTime = nil
}
return nil
}

View file

@ -20,8 +20,8 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
func addDefaultingFuncs(scheme *runtime.Scheme) {
scheme.AddDefaultingFuncs(
func addDefaultingFuncs(scheme *runtime.Scheme) error {
return scheme.AddDefaultingFuncs(
SetDefaults_Job,
SetDefaults_ScheduledJob,
)
@ -46,4 +46,7 @@ func SetDefaults_ScheduledJob(obj *ScheduledJob) {
if obj.Spec.ConcurrencyPolicy == "" {
obj.Spec.ConcurrencyPolicy = AllowConcurrent
}
if obj.Spec.Suspend == nil {
obj.Spec.Suspend = new(bool)
}
}

View file

@ -48,6 +48,10 @@ import math "math"
import k8s_io_kubernetes_pkg_api_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1"
import strings "strings"
import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
@ -55,57 +59,63 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func (m *Job) Reset() { *m = Job{} }
func (m *Job) String() string { return proto.CompactTextString(m) }
func (*Job) ProtoMessage() {}
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1
func (m *JobCondition) Reset() { *m = JobCondition{} }
func (m *JobCondition) String() string { return proto.CompactTextString(m) }
func (*JobCondition) ProtoMessage() {}
func (m *Job) Reset() { *m = Job{} }
func (*Job) ProtoMessage() {}
func (*Job) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *JobList) Reset() { *m = JobList{} }
func (m *JobList) String() string { return proto.CompactTextString(m) }
func (*JobList) ProtoMessage() {}
func (m *JobCondition) Reset() { *m = JobCondition{} }
func (*JobCondition) ProtoMessage() {}
func (*JobCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *JobSpec) Reset() { *m = JobSpec{} }
func (m *JobSpec) String() string { return proto.CompactTextString(m) }
func (*JobSpec) ProtoMessage() {}
func (m *JobList) Reset() { *m = JobList{} }
func (*JobList) ProtoMessage() {}
func (*JobList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (m *JobStatus) Reset() { *m = JobStatus{} }
func (m *JobStatus) String() string { return proto.CompactTextString(m) }
func (*JobStatus) ProtoMessage() {}
func (m *JobSpec) Reset() { *m = JobSpec{} }
func (*JobSpec) ProtoMessage() {}
func (*JobSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (m *JobTemplate) Reset() { *m = JobTemplate{} }
func (m *JobTemplate) String() string { return proto.CompactTextString(m) }
func (*JobTemplate) ProtoMessage() {}
func (m *JobStatus) Reset() { *m = JobStatus{} }
func (*JobStatus) ProtoMessage() {}
func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (m *JobTemplateSpec) Reset() { *m = JobTemplateSpec{} }
func (m *JobTemplateSpec) String() string { return proto.CompactTextString(m) }
func (*JobTemplateSpec) ProtoMessage() {}
func (m *JobTemplate) Reset() { *m = JobTemplate{} }
func (*JobTemplate) ProtoMessage() {}
func (*JobTemplate) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (m *LabelSelector) String() string { return proto.CompactTextString(m) }
func (*LabelSelector) ProtoMessage() {}
func (m *JobTemplateSpec) Reset() { *m = JobTemplateSpec{} }
func (*JobTemplateSpec) ProtoMessage() {}
func (*JobTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (m *LabelSelectorRequirement) String() string { return proto.CompactTextString(m) }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (*LabelSelector) ProtoMessage() {}
func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (m *ScheduledJob) Reset() { *m = ScheduledJob{} }
func (m *ScheduledJob) String() string { return proto.CompactTextString(m) }
func (*ScheduledJob) ProtoMessage() {}
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{8}
}
func (m *ScheduledJobList) Reset() { *m = ScheduledJobList{} }
func (m *ScheduledJobList) String() string { return proto.CompactTextString(m) }
func (*ScheduledJobList) ProtoMessage() {}
func (m *ScheduledJob) Reset() { *m = ScheduledJob{} }
func (*ScheduledJob) ProtoMessage() {}
func (*ScheduledJob) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (m *ScheduledJobSpec) Reset() { *m = ScheduledJobSpec{} }
func (m *ScheduledJobSpec) String() string { return proto.CompactTextString(m) }
func (*ScheduledJobSpec) ProtoMessage() {}
func (m *ScheduledJobList) Reset() { *m = ScheduledJobList{} }
func (*ScheduledJobList) ProtoMessage() {}
func (*ScheduledJobList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
func (m *ScheduledJobStatus) Reset() { *m = ScheduledJobStatus{} }
func (m *ScheduledJobStatus) String() string { return proto.CompactTextString(m) }
func (*ScheduledJobStatus) ProtoMessage() {}
func (m *ScheduledJobSpec) Reset() { *m = ScheduledJobSpec{} }
func (*ScheduledJobSpec) ProtoMessage() {}
func (*ScheduledJobSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
func (m *ScheduledJobStatus) Reset() { *m = ScheduledJobStatus{} }
func (*ScheduledJobStatus) ProtoMessage() {}
func (*ScheduledJobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
func init() {
proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.Job")
@ -944,6 +954,185 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Job) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Job{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "JobSpec", "JobSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "JobStatus", "JobStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
`LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1), `&`, ``, 1) + `,`,
`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`}`,
}, "")
return s
}
func (this *JobList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Job", "Job", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobSpec{`,
`Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`,
`Completions:` + valueToStringGenerated(this.Completions) + `,`,
`ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "LabelSelector", 1) + `,`,
`ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobStatus{`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "JobCondition", "JobCondition", 1), `&`, ``, 1) + `,`,
`StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`Active:` + fmt.Sprintf("%v", this.Active) + `,`,
`Succeeded:` + fmt.Sprintf("%v", this.Succeeded) + `,`,
`Failed:` + fmt.Sprintf("%v", this.Failed) + `,`,
`}`,
}, "")
return s
}
func (this *JobTemplate) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobTemplate{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "JobTemplateSpec", "JobTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *JobTemplateSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&JobTemplateSpec{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "JobSpec", "JobSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelector) String() string {
if this == nil {
return "nil"
}
keysForMatchLabels := make([]string, 0, len(this.MatchLabels))
for k := range this.MatchLabels {
keysForMatchLabels = append(keysForMatchLabels, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForMatchLabels)
mapStringForMatchLabels := "map[string]string{"
for _, k := range keysForMatchLabels {
mapStringForMatchLabels += fmt.Sprintf("%v: %v,", k, this.MatchLabels[k])
}
mapStringForMatchLabels += "}"
s := strings.Join([]string{`&LabelSelector{`,
`MatchLabels:` + mapStringForMatchLabels + `,`,
`MatchExpressions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.MatchExpressions), "LabelSelectorRequirement", "LabelSelectorRequirement", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelectorRequirement) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LabelSelectorRequirement{`,
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
`Operator:` + fmt.Sprintf("%v", this.Operator) + `,`,
`Values:` + fmt.Sprintf("%v", this.Values) + `,`,
`}`,
}, "")
return s
}
func (this *ScheduledJob) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScheduledJob{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ScheduledJobSpec", "ScheduledJobSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "ScheduledJobStatus", "ScheduledJobStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *ScheduledJobList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScheduledJobList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ScheduledJob", "ScheduledJob", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *ScheduledJobSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScheduledJobSpec{`,
`Schedule:` + fmt.Sprintf("%v", this.Schedule) + `,`,
`StartingDeadlineSeconds:` + valueToStringGenerated(this.StartingDeadlineSeconds) + `,`,
`ConcurrencyPolicy:` + fmt.Sprintf("%v", this.ConcurrencyPolicy) + `,`,
`Suspend:` + valueToStringGenerated(this.Suspend) + `,`,
`JobTemplate:` + strings.Replace(strings.Replace(this.JobTemplate.String(), "JobTemplateSpec", "JobTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *ScheduledJobStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ScheduledJobStatus{`,
`Active:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Active), "ObjectReference", "k8s_io_kubernetes_pkg_api_v1.ObjectReference", 1), `&`, ``, 1) + `,`,
`LastScheduleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScheduleTime), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *Job) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
@ -3016,3 +3205,89 @@ var (
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
)
var fileDescriptorGenerated = []byte{
// 1300 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5,
0x17, 0xaf, 0xed, 0xd8, 0xb1, 0xc7, 0xf9, 0xe1, 0xcc, 0xb7, 0x51, 0xfd, 0x35, 0x22, 0xa9, 0x2c,
0x81, 0x1a, 0x68, 0x76, 0x95, 0xa8, 0xa8, 0x21, 0x88, 0x4a, 0x6c, 0x08, 0x52, 0x21, 0x51, 0xa2,
0x71, 0xa8, 0x10, 0xb4, 0x87, 0xf1, 0x7a, 0x62, 0x6f, 0xb3, 0xde, 0x75, 0x77, 0x67, 0x0d, 0xbe,
0xf5, 0xca, 0x09, 0x24, 0xfe, 0x05, 0xce, 0xfc, 0x05, 0xf4, 0xc0, 0x2d, 0x37, 0x0a, 0x27, 0xc4,
0x21, 0x82, 0xf2, 0x5f, 0xf4, 0xc4, 0x9b, 0xd9, 0xd9, 0xf5, 0xfa, 0x57, 0x14, 0x1b, 0x15, 0x89,
0xc3, 0x4a, 0x9e, 0x37, 0xef, 0xf3, 0x99, 0x37, 0xf3, 0x3e, 0xf3, 0xe6, 0x19, 0xbd, 0x7b, 0xb6,
0xe3, 0x6b, 0x96, 0xab, 0x9f, 0x05, 0x75, 0xe6, 0x39, 0x8c, 0x33, 0x5f, 0xef, 0x9c, 0x35, 0x75,
0xda, 0xb1, 0x7c, 0xbd, 0x4e, 0xb9, 0xd9, 0xd2, 0xbb, 0xdb, 0xd4, 0xee, 0xb4, 0xe8, 0x96, 0xde,
0x64, 0x0e, 0xf3, 0x28, 0x67, 0x0d, 0xad, 0xe3, 0xb9, 0xdc, 0xc5, 0x1b, 0x21, 0x54, 0xeb, 0x43,
0x35, 0x80, 0x6a, 0x02, 0xaa, 0x49, 0xa8, 0x16, 0x41, 0x2b, 0x9b, 0x4d, 0x8b, 0xb7, 0x82, 0xba,
0x66, 0xba, 0x6d, 0xbd, 0xe9, 0x36, 0x5d, 0x5d, 0x32, 0xd4, 0x83, 0x53, 0x39, 0x92, 0x03, 0xf9,
0x2b, 0x64, 0xae, 0x6c, 0x4f, 0x0c, 0x4a, 0xf7, 0x98, 0xef, 0x06, 0x9e, 0xc9, 0x86, 0xa3, 0xa9,
0xbc, 0x33, 0x19, 0x13, 0x38, 0x5d, 0xe6, 0xf9, 0x96, 0xeb, 0xb0, 0xc6, 0x08, 0xec, 0xf6, 0x64,
0x58, 0x77, 0x64, 0xcb, 0x95, 0xcd, 0xf1, 0xde, 0x5e, 0xe0, 0x70, 0xab, 0x3d, 0x1a, 0xd3, 0xd6,
0x78, 0xf7, 0x80, 0x5b, 0xb6, 0x6e, 0x39, 0xdc, 0xe7, 0xde, 0x30, 0xa4, 0xfa, 0x5d, 0x1a, 0x65,
0x3e, 0x76, 0xeb, 0xf8, 0x33, 0x94, 0x6f, 0x33, 0x4e, 0x1b, 0x94, 0xd3, 0x72, 0xea, 0x66, 0xea,
0x56, 0x71, 0xfb, 0x96, 0x36, 0xf1, 0xbc, 0xb5, 0xee, 0x96, 0x76, 0x54, 0x7f, 0xcc, 0x4c, 0x7e,
0x08, 0x18, 0x03, 0x9f, 0x5f, 0xac, 0x5f, 0x7b, 0x71, 0xb1, 0x8e, 0xfa, 0x36, 0x12, 0xb3, 0xe1,
0x13, 0x34, 0xe7, 0x77, 0x98, 0x59, 0x4e, 0x4b, 0xd6, 0x6d, 0xed, 0xca, 0x59, 0xd4, 0x20, 0xae,
0x1a, 0x20, 0x8d, 0x05, 0xc5, 0x3f, 0x27, 0x46, 0x44, 0xb2, 0xe1, 0x87, 0x28, 0xe7, 0x73, 0xca,
0x03, 0xbf, 0x9c, 0x91, 0xbc, 0x77, 0xa6, 0xe4, 0x95, 0x58, 0x63, 0x49, 0x31, 0xe7, 0xc2, 0x31,
0x51, 0x9c, 0xd5, 0x5f, 0x33, 0x68, 0x01, 0xbc, 0xf6, 0x5c, 0xa7, 0x61, 0x71, 0x48, 0x24, 0xbe,
0x83, 0xe6, 0x78, 0xaf, 0xc3, 0xe4, 0xd1, 0x14, 0x8c, 0x9b, 0x51, 0x40, 0x27, 0x60, 0x7b, 0x79,
0xb1, 0x5e, 0x4a, 0xfa, 0x0a, 0x1b, 0x91, 0xde, 0xf8, 0x41, 0x1c, 0x64, 0x5a, 0xe2, 0xee, 0x0d,
0x2e, 0x07, 0xc8, 0x4b, 0xe5, 0xa0, 0xc5, 0x9c, 0x83, 0xe1, 0xe1, 0x16, 0x5a, 0xb4, 0xa9, 0xcf,
0x8f, 0x3d, 0xb7, 0xce, 0x4e, 0x40, 0x08, 0xea, 0x0c, 0xde, 0xbe, 0x24, 0x63, 0x09, 0x4d, 0x6a,
0x02, 0x62, 0xac, 0xaa, 0x58, 0x16, 0x0f, 0x92, 0x4c, 0x64, 0x90, 0x18, 0x7f, 0x89, 0xb0, 0x30,
0x9c, 0x78, 0xd4, 0xf1, 0xc3, 0xdd, 0x89, 0xe5, 0xe6, 0xa6, 0x5f, 0xae, 0xa2, 0x96, 0xc3, 0x07,
0x23, 0x74, 0x64, 0xcc, 0x12, 0xf8, 0x4d, 0x94, 0xf3, 0x18, 0xf5, 0x5d, 0xa7, 0x9c, 0x95, 0x47,
0x17, 0x67, 0x8a, 0x48, 0x2b, 0x51, 0xb3, 0x78, 0x03, 0xcd, 0xb7, 0x99, 0xef, 0xd3, 0x26, 0x2b,
0xe7, 0xa4, 0xe3, 0xb2, 0x72, 0x9c, 0x3f, 0x0c, 0xcd, 0x24, 0x9a, 0xaf, 0x3e, 0x4b, 0xa1, 0x79,
0x48, 0xd4, 0x81, 0xe5, 0x73, 0xfc, 0x68, 0x44, 0xee, 0xfa, 0x15, 0x77, 0x23, 0xe0, 0x52, 0xf5,
0x25, 0xb5, 0x50, 0x3e, 0xb2, 0x24, 0x34, 0x5f, 0x43, 0x59, 0x8b, 0xb3, 0xb6, 0xc8, 0x7b, 0x06,
0xb8, 0xb5, 0xe9, 0xc4, 0x69, 0x2c, 0x2a, 0xea, 0xec, 0x7d, 0x41, 0x42, 0x42, 0xae, 0xea, 0xb3,
0x8c, 0x8c, 0x5f, 0x5c, 0x02, 0xbc, 0x85, 0x8a, 0x1d, 0xea, 0x51, 0xdb, 0x66, 0xb6, 0xe5, 0xb7,
0xe5, 0x16, 0xb2, 0xc6, 0x32, 0x40, 0x8a, 0xc7, 0x7d, 0x33, 0x49, 0xfa, 0x08, 0x08, 0x94, 0xc3,
0x8e, 0xcd, 0xc4, 0x19, 0x87, 0x8a, 0x54, 0x90, 0xbd, 0xbe, 0x99, 0x24, 0x7d, 0xf0, 0x11, 0x5a,
0xa5, 0x26, 0xb7, 0xba, 0xec, 0x43, 0x46, 0x1b, 0xb6, 0xe5, 0xb0, 0x1a, 0x33, 0x41, 0x92, 0xe1,
0x9d, 0xcb, 0x18, 0xff, 0x07, 0xf0, 0xea, 0x07, 0xe3, 0x1c, 0xc8, 0x78, 0x1c, 0xae, 0xa3, 0xbc,
0xcf, 0x6c, 0xa8, 0x11, 0xae, 0xa7, 0x44, 0xb4, 0x33, 0xc5, 0xd1, 0x1c, 0xd0, 0x3a, 0xb3, 0x6b,
0x0a, 0x6f, 0x2c, 0x88, 0xb3, 0x8f, 0x46, 0x24, 0xe6, 0xc5, 0xbb, 0x68, 0xa9, 0x4d, 0x9d, 0x80,
0xc6, 0x9e, 0x52, 0x41, 0x79, 0x03, 0x83, 0xff, 0xd2, 0xe1, 0xc0, 0x0c, 0x19, 0xf2, 0xc4, 0x5f,
0xa0, 0x3c, 0x1c, 0x75, 0xc7, 0x86, 0x02, 0x29, 0xe5, 0x54, 0xdc, 0xde, 0xbc, 0xbc, 0x0a, 0x1e,
0xbb, 0x8d, 0x13, 0x05, 0x90, 0xa5, 0x2a, 0x16, 0x45, 0x64, 0x25, 0x31, 0x61, 0xf5, 0xc7, 0x0c,
0x2a, 0xc4, 0xa5, 0x07, 0x9f, 0x21, 0x64, 0x46, 0xd7, 0xdb, 0x87, 0x04, 0x0a, 0x9d, 0xdc, 0x9d,
0x4e, 0x27, 0x71, 0x79, 0xe8, 0x57, 0xe0, 0xd8, 0xe4, 0x93, 0x04, 0x3d, 0x54, 0xf7, 0x02, 0x94,
0x0e, 0x8f, 0xcb, 0xdb, 0x9b, 0x9e, 0xfe, 0xf6, 0x2e, 0x02, 0x77, 0xa1, 0x16, 0x31, 0x90, 0x3e,
0x19, 0x6e, 0xa2, 0xa5, 0xbe, 0x62, 0x66, 0xad, 0x45, 0x32, 0x35, 0x7b, 0x03, 0x34, 0x64, 0x88,
0x56, 0x14, 0x84, 0x50, 0x53, 0x52, 0x38, 0xd9, 0x7e, 0x41, 0x08, 0x05, 0x48, 0xd4, 0x2c, 0xd6,
0x61, 0xab, 0x81, 0x69, 0x32, 0xd6, 0x60, 0x0d, 0x99, 0xf9, 0xac, 0xb1, 0xa2, 0x5c, 0x0b, 0xb5,
0x68, 0x82, 0xf4, 0x7d, 0x04, 0xf1, 0x29, 0xb5, 0x6c, 0xf0, 0xce, 0x0d, 0x12, 0x7f, 0x24, 0xad,
0x44, 0xcd, 0x56, 0x7f, 0x49, 0xa1, 0x22, 0x1c, 0x7a, 0x94, 0xd8, 0x57, 0xf8, 0x62, 0xb6, 0x12,
0x2a, 0x0c, 0x93, 0xb5, 0x3b, 0x9d, 0x30, 0xae, 0x2c, 0xc9, 0x9f, 0x52, 0x68, 0x79, 0xc8, 0xff,
0xbf, 0xd6, 0x09, 0x54, 0x2f, 0xd2, 0x68, 0x71, 0xa0, 0x32, 0xe0, 0xa7, 0x90, 0xa9, 0xb6, 0x20,
0x90, 0xe6, 0xe8, 0x72, 0xdd, 0x9f, 0xb5, 0xd2, 0x68, 0x87, 0x7d, 0xae, 0x7d, 0x87, 0x7b, 0x3d,
0xe3, 0x7f, 0x2a, 0x8c, 0x62, 0x62, 0x86, 0x24, 0x97, 0xc4, 0x5f, 0xa7, 0x50, 0x49, 0x8e, 0xf7,
0xbf, 0xea, 0x40, 0x0b, 0xe9, 0xab, 0x92, 0x2b, 0xe2, 0xd8, 0x9b, 0x35, 0x0e, 0xc2, 0x9e, 0x04,
0x96, 0xc7, 0xda, 0xcc, 0xe1, 0x46, 0x59, 0x45, 0x50, 0x3a, 0x1c, 0x5a, 0x84, 0x8c, 0x2c, 0x5b,
0xb9, 0x87, 0x4a, 0xc3, 0x3b, 0xc0, 0x25, 0x94, 0x39, 0x63, 0xbd, 0xb0, 0x9d, 0x21, 0xe2, 0x27,
0xbe, 0x8e, 0xb2, 0x5d, 0x6a, 0x07, 0xa1, 0xe2, 0x0a, 0x24, 0x1c, 0xec, 0xa6, 0x77, 0x52, 0xd5,
0xef, 0x53, 0xa8, 0x3c, 0x29, 0x10, 0xfc, 0x7a, 0x82, 0xc8, 0x28, 0xaa, 0xa8, 0x32, 0x9f, 0xb0,
0x5e, 0xc8, 0xba, 0x8f, 0xf2, 0x6e, 0x47, 0x34, 0x9c, 0x50, 0x86, 0xc3, 0x1e, 0x68, 0x23, 0x92,
0xe3, 0x91, 0xb2, 0x43, 0x17, 0xb4, 0x3a, 0x40, 0x1f, 0x4d, 0x90, 0x18, 0x8a, 0xab, 0x28, 0x27,
0xe3, 0x11, 0x2f, 0x4f, 0x06, 0x48, 0x90, 0xb8, 0x9f, 0x0f, 0xa4, 0x85, 0xa8, 0x99, 0xea, 0x0f,
0x69, 0xb4, 0x50, 0x33, 0x5b, 0xac, 0x11, 0xc0, 0x6d, 0x7d, 0xb5, 0x2d, 0xed, 0xa3, 0x01, 0x21,
0xbf, 0x37, 0x45, 0x42, 0x93, 0x01, 0x4e, 0xec, 0x6d, 0xd9, 0x50, 0x6f, 0xfb, 0xfe, 0xac, 0x0b,
0x5c, 0xde, 0xe4, 0xfe, 0x0c, 0x1a, 0x4d, 0xba, 0xff, 0x1b, 0x8d, 0xd1, 0xc3, 0xc1, 0xc6, 0xe8,
0xee, 0x8c, 0x3b, 0x9b, 0xd0, 0x21, 0x7d, 0x93, 0x19, 0xdc, 0x91, 0xac, 0x67, 0xb7, 0xa1, 0xe7,
0x50, 0x36, 0x25, 0xd3, 0x38, 0xc0, 0xc8, 0x97, 0xc4, 0x1e, 0xf8, 0x53, 0x74, 0x43, 0x3e, 0x6e,
0x96, 0xd3, 0x1c, 0x6e, 0x7a, 0xd2, 0xb2, 0xe9, 0x79, 0x0d, 0x80, 0x37, 0x6a, 0xe3, 0x5d, 0xc8,
0x24, 0x2c, 0xec, 0x7b, 0x05, 0x7e, 0x98, 0x81, 0xe7, 0x31, 0xc7, 0xec, 0x1d, 0xbb, 0xb6, 0x65,
0xf6, 0x64, 0x76, 0x0b, 0x86, 0xa6, 0xa2, 0x59, 0xd9, 0x1b, 0x76, 0x78, 0x39, 0xce, 0x48, 0x46,
0x89, 0xf0, 0x1b, 0x68, 0xde, 0x0f, 0x40, 0x3a, 0x4e, 0x43, 0x3e, 0x8e, 0x79, 0xa3, 0x28, 0x1a,
0xe0, 0x5a, 0x68, 0x22, 0xd1, 0x1c, 0x7e, 0x82, 0x8a, 0x8f, 0xfb, 0xc5, 0x5e, 0x3e, 0x8e, 0xff,
0xec, 0x69, 0x89, 0xeb, 0x60, 0x62, 0x82, 0x24, 0xd7, 0xa8, 0xfe, 0x9e, 0x42, 0x78, 0x54, 0x92,
0x70, 0xca, 0xd1, 0x63, 0x1e, 0xd6, 0xe6, 0xcd, 0xab, 0x5c, 0x4c, 0xc2, 0x4e, 0x99, 0xd8, 0x35,
0x9b, 0xf8, 0xf6, 0xb7, 0x51, 0x49, 0xfc, 0x95, 0x88, 0x16, 0x9c, 0xf5, 0xbf, 0xca, 0x75, 0x51,
0x58, 0x0f, 0x86, 0x88, 0xc8, 0x08, 0xb5, 0xf1, 0xd6, 0xf9, 0x9f, 0x6b, 0xd7, 0x9e, 0xc3, 0xf7,
0x1b, 0x7c, 0x4f, 0x5f, 0xac, 0xa5, 0xce, 0xe1, 0x7b, 0x0e, 0xdf, 0x1f, 0xf0, 0x7d, 0xfb, 0xd7,
0xda, 0xb5, 0xcf, 0xf3, 0xd1, 0xd1, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x67, 0x5d, 0xb9, 0x32,
0xf8, 0x10, 0x00, 0x00,
}

View file

@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v2alpha1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".

View file

@ -29,14 +29,13 @@ const GroupName = "batch"
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: GroupName, Version: "v2alpha1"}
func AddToScheme(scheme *runtime.Scheme) {
addKnownTypes(scheme)
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
}
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs)
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&Job{},
&JobList{},
@ -47,4 +46,5 @@ func addKnownTypes(scheme *runtime.Scheme) {
&v1.DeleteOptions{},
)
versionedwatch.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

File diff suppressed because it is too large Load diff

View file

@ -211,7 +211,7 @@ type ScheduledJobSpec struct {
// Suspend flag tells the controller to suspend subsequent executions, it does
// not apply to already started executions. Defaults to false.
Suspend *bool `json:"suspend" protobuf:"varint,4,opt,name=suspend"`
Suspend *bool `json:"suspend,omitempty" protobuf:"varint,4,opt,name=suspend"`
// JobTemplate is the object that describes the job that will be created when
// executing a ScheduledJob.

View file

@ -26,10 +26,17 @@ import (
v1 "k8s.io/kubernetes/pkg/api/v1"
batch "k8s.io/kubernetes/pkg/apis/batch"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
)
func init() {
if err := api.Scheme.AddGeneratedConversionFuncs(
SchemeBuilder.Register(RegisterConversions)
}
// RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v2alpha1_Job_To_batch_Job,
Convert_batch_Job_To_v2alpha1_Job,
Convert_v2alpha1_JobCondition_To_batch_JobCondition,
@ -56,10 +63,7 @@ func init() {
Convert_batch_ScheduledJobSpec_To_v2alpha1_ScheduledJobSpec,
Convert_v2alpha1_ScheduledJobStatus_To_batch_ScheduledJobStatus,
Convert_batch_ScheduledJobStatus_To_v2alpha1_ScheduledJobStatus,
); err != nil {
// if one of the conversion functions is malformed, detect it immediately.
panic(err)
}
)
}
func autoConvert_v2alpha1_Job_To_batch_Job(in *Job, out *batch.Job, s conversion.Scope) error {

View file

@ -0,0 +1,354 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v2alpha1
import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_Job, InType: reflect.TypeOf(&Job{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobCondition, InType: reflect.TypeOf(&JobCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobList, InType: reflect.TypeOf(&JobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobSpec, InType: reflect.TypeOf(&JobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplate, InType: reflect.TypeOf(&JobTemplate{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplateSpec, InType: reflect.TypeOf(&JobTemplateSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJob, InType: reflect.TypeOf(&ScheduledJob{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobList, InType: reflect.TypeOf(&ScheduledJobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobSpec, InType: reflect.TypeOf(&ScheduledJobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobStatus, InType: reflect.TypeOf(&ScheduledJobStatus{})},
)
}
func DeepCopy_v2alpha1_Job(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Job)
out := out.(*Job)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_JobCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobCondition)
out := out.(*JobCondition)
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
}
func DeepCopy_v2alpha1_JobList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobList)
out := out.(*JobList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Job, len(*in))
for i := range *in {
if err := DeepCopy_v2alpha1_Job(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_v2alpha1_JobSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobSpec)
out := out.(*JobSpec)
if in.Parallelism != nil {
in, out := &in.Parallelism, &out.Parallelism
*out = new(int32)
**out = **in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := &in.Completions, &out.Completions
*out = new(int32)
**out = **in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := &in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = **in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := DeepCopy_v2alpha1_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := &in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = **in
} else {
out.ManualSelector = nil
}
if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_JobStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobStatus)
out := out.(*JobStatus)
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]JobCondition, len(*in))
for i := range *in {
if err := DeepCopy_v2alpha1_JobCondition(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := &in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := &in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
}
func DeepCopy_v2alpha1_JobTemplate(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobTemplate)
out := out.(*JobTemplate)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_JobTemplateSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobTemplateSpec)
out := out.(*JobTemplateSpec)
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_JobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelector)
out := out.(*LabelSelector)
if in.MatchLabels != nil {
in, out := &in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range *in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := DeepCopy_v2alpha1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
}
func DeepCopy_v2alpha1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelectorRequirement)
out := out.(*LabelSelectorRequirement)
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := &in.Values, &out.Values
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Values = nil
}
return nil
}
}
func DeepCopy_v2alpha1_ScheduledJob(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJob)
out := out.(*ScheduledJob)
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_ScheduledJobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v2alpha1_ScheduledJobStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_ScheduledJobList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobList)
out := out.(*ScheduledJobList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ScheduledJob, len(*in))
for i := range *in {
if err := DeepCopy_v2alpha1_ScheduledJob(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_v2alpha1_ScheduledJobSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobSpec)
out := out.(*ScheduledJobSpec)
out.Schedule = in.Schedule
if in.StartingDeadlineSeconds != nil {
in, out := &in.StartingDeadlineSeconds, &out.StartingDeadlineSeconds
*out = new(int64)
**out = **in
} else {
out.StartingDeadlineSeconds = nil
}
out.ConcurrencyPolicy = in.ConcurrencyPolicy
if in.Suspend != nil {
in, out := &in.Suspend, &out.Suspend
*out = new(bool)
**out = **in
} else {
out.Suspend = nil
}
if err := DeepCopy_v2alpha1_JobTemplateSpec(&in.JobTemplate, &out.JobTemplate, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_v2alpha1_ScheduledJobStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobStatus)
out := out.(*ScheduledJobStatus)
if in.Active != nil {
in, out := &in.Active, &out.Active
*out = make([]v1.ObjectReference, len(*in))
for i := range *in {
(*out)[i] = (*in)[i]
}
} else {
out.Active = nil
}
if in.LastScheduleTime != nil {
in, out := &in.LastScheduleTime, &out.LastScheduleTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.LastScheduleTime = nil
}
return nil
}
}

View file

@ -0,0 +1,307 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package batch
import (
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion"
runtime "k8s.io/kubernetes/pkg/runtime"
reflect "reflect"
)
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_Job, InType: reflect.TypeOf(&Job{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobCondition, InType: reflect.TypeOf(&JobCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobList, InType: reflect.TypeOf(&JobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobSpec, InType: reflect.TypeOf(&JobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobTemplate, InType: reflect.TypeOf(&JobTemplate{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_JobTemplateSpec, InType: reflect.TypeOf(&JobTemplateSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_ScheduledJob, InType: reflect.TypeOf(&ScheduledJob{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_ScheduledJobList, InType: reflect.TypeOf(&ScheduledJobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_ScheduledJobSpec, InType: reflect.TypeOf(&ScheduledJobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_batch_ScheduledJobStatus, InType: reflect.TypeOf(&ScheduledJobStatus{})},
)
}
func DeepCopy_batch_Job(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*Job)
out := out.(*Job)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_batch_JobStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_JobCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobCondition)
out := out.(*JobCondition)
out.Type = in.Type
out.Status = in.Status
out.LastProbeTime = in.LastProbeTime.DeepCopy()
out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
}
func DeepCopy_batch_JobList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobList)
out := out.(*JobList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]Job, len(*in))
for i := range *in {
if err := DeepCopy_batch_Job(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_batch_JobSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobSpec)
out := out.(*JobSpec)
if in.Parallelism != nil {
in, out := &in.Parallelism, &out.Parallelism
*out = new(int32)
**out = **in
} else {
out.Parallelism = nil
}
if in.Completions != nil {
in, out := &in.Completions, &out.Completions
*out = new(int32)
**out = **in
} else {
out.Completions = nil
}
if in.ActiveDeadlineSeconds != nil {
in, out := &in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds
*out = new(int64)
**out = **in
} else {
out.ActiveDeadlineSeconds = nil
}
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil {
in, out := &in.ManualSelector, &out.ManualSelector
*out = new(bool)
**out = **in
} else {
out.ManualSelector = nil
}
if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_JobStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobStatus)
out := out.(*JobStatus)
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]JobCondition, len(*in))
for i := range *in {
if err := DeepCopy_batch_JobCondition(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.StartTime != nil {
in, out := &in.StartTime, &out.StartTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.StartTime = nil
}
if in.CompletionTime != nil {
in, out := &in.CompletionTime, &out.CompletionTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.CompletionTime = nil
}
out.Active = in.Active
out.Succeeded = in.Succeeded
out.Failed = in.Failed
return nil
}
}
func DeepCopy_batch_JobTemplate(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobTemplate)
out := out.(*JobTemplate)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_JobTemplateSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*JobTemplateSpec)
out := out.(*JobTemplateSpec)
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_JobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_ScheduledJob(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJob)
out := out.(*ScheduledJob)
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_batch_ScheduledJobSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_batch_ScheduledJobStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_ScheduledJobList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobList)
out := out.(*ScheduledJobList)
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ScheduledJob, len(*in))
for i := range *in {
if err := DeepCopy_batch_ScheduledJob(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
}
func DeepCopy_batch_ScheduledJobSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobSpec)
out := out.(*ScheduledJobSpec)
out.Schedule = in.Schedule
if in.StartingDeadlineSeconds != nil {
in, out := &in.StartingDeadlineSeconds, &out.StartingDeadlineSeconds
*out = new(int64)
**out = **in
} else {
out.StartingDeadlineSeconds = nil
}
out.ConcurrencyPolicy = in.ConcurrencyPolicy
if in.Suspend != nil {
in, out := &in.Suspend, &out.Suspend
*out = new(bool)
**out = **in
} else {
out.Suspend = nil
}
if err := DeepCopy_batch_JobTemplateSpec(&in.JobTemplate, &out.JobTemplate, c); err != nil {
return err
}
return nil
}
}
func DeepCopy_batch_ScheduledJobStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ScheduledJobStatus)
out := out.(*ScheduledJobStatus)
if in.Active != nil {
in, out := &in.Active, &out.Active
*out = make([]api.ObjectReference, len(*in))
for i := range *in {
(*out)[i] = (*in)[i]
}
} else {
out.Active = nil
}
if in.LastScheduleTime != nil {
in, out := &in.LastScheduleTime, &out.LastScheduleTime
*out = new(unversioned.Time)
**out = (*in).DeepCopy()
} else {
out.LastScheduleTime = nil
}
return nil
}
}

View file

@ -1,120 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package certificates
import (
api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_certificates_CertificateSigningRequest,
DeepCopy_certificates_CertificateSigningRequestCondition,
DeepCopy_certificates_CertificateSigningRequestList,
DeepCopy_certificates_CertificateSigningRequestSpec,
DeepCopy_certificates_CertificateSigningRequestStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_certificates_CertificateSigningRequest(in CertificateSigningRequest, out *CertificateSigningRequest, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_certificates_CertificateSigningRequestSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_certificates_CertificateSigningRequestStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_certificates_CertificateSigningRequestCondition(in CertificateSigningRequestCondition, out *CertificateSigningRequestCondition, c *conversion.Cloner) error {
out.Type = in.Type
out.Reason = in.Reason
out.Message = in.Message
out.LastUpdateTime = in.LastUpdateTime.DeepCopy()
return nil
}
func DeepCopy_certificates_CertificateSigningRequestList(in CertificateSigningRequestList, out *CertificateSigningRequestList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]CertificateSigningRequest, len(in))
for i := range in {
if err := DeepCopy_certificates_CertificateSigningRequest(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_certificates_CertificateSigningRequestSpec(in CertificateSigningRequestSpec, out *CertificateSigningRequestSpec, c *conversion.Cloner) error {
if in.Request != nil {
in, out := in.Request, &out.Request
*out = make([]byte, len(in))
copy(*out, in)
} else {
out.Request = nil
}
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
return nil
}
func DeepCopy_certificates_CertificateSigningRequestStatus(in CertificateSigningRequestStatus, out *CertificateSigningRequestStatus, c *conversion.Cloner) error {
if in.Conditions != nil {
in, out := in.Conditions, &out.Conditions
*out = make([]CertificateSigningRequestCondition, len(in))
for i := range in {
if err := DeepCopy_certificates_CertificateSigningRequestCondition(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.Certificate != nil {
in, out := in.Certificate, &out.Certificate
*out = make([]byte, len(in))
copy(*out, in)
} else {
out.Certificate = nil
}
return nil
}

View file

@ -116,7 +116,10 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
// add the internal version to Scheme
certificates.AddToScheme(api.Scheme)
if err := certificates.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
// add the enabled external versions to Scheme
for _, v := range externalVersions {
if !registered.IsEnabledVersion(v) {
@ -125,7 +128,10 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
}
switch v {
case v1alpha1.SchemeGroupVersion:
v1alpha1.AddToScheme(api.Scheme)
if err := v1alpha1.AddToScheme(api.Scheme); err != nil {
// Programmer error, detect immediately
panic(err)
}
}
}
}

View file

@ -22,6 +22,11 @@ import (
"k8s.io/kubernetes/pkg/runtime"
)
var (
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
AddToScheme = SchemeBuilder.AddToScheme
)
// GroupName is the group name use in this package
const GroupName = "certificates"
@ -38,19 +43,15 @@ func Resource(resource string) unversioned.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
func AddToScheme(scheme *runtime.Scheme) {
// Add the API to Scheme.
addKnownTypes(scheme)
}
// Adds the list of known types to api.Scheme.
func addKnownTypes(scheme *runtime.Scheme) {
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&CertificateSigningRequest{},
&CertificateSigningRequestList{},
&api.ListOptions{},
&api.DeleteOptions{},
)
return nil
}
func (obj *CertificateSigningRequest) GetObjectKind() unversioned.ObjectKind { return &obj.TypeMeta }

File diff suppressed because it is too large Load diff

View file

@ -16,8 +16,24 @@ limitations under the License.
package v1alpha1
import "k8s.io/kubernetes/pkg/runtime"
import (
"fmt"
func addConversionFuncs(scheme *runtime.Scheme) {
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/runtime"
)
func addConversionFuncs(scheme *runtime.Scheme) error {
// Add non-generated conversion functions here. Currently there are none.
return api.Scheme.AddFieldLabelConversionFunc(SchemeGroupVersion.String(), "CertificateSigningRequest",
func(label, value string) (string, string, error) {
switch label {
case "metadata.name":
return label, value, nil
default:
return "", "", fmt.Errorf("field label not supported: %s", label)
}
},
)
}

View file

@ -1,121 +0,0 @@
// +build !ignore_autogenerated
/*
Copyright 2016 The Kubernetes 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.
*/
// This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1alpha1
import (
api "k8s.io/kubernetes/pkg/api"
v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion"
)
func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_CertificateSigningRequest,
DeepCopy_v1alpha1_CertificateSigningRequestCondition,
DeepCopy_v1alpha1_CertificateSigningRequestList,
DeepCopy_v1alpha1_CertificateSigningRequestSpec,
DeepCopy_v1alpha1_CertificateSigningRequestStatus,
); err != nil {
// if one of the deep copy functions is malformed, detect it immediately.
panic(err)
}
}
func DeepCopy_v1alpha1_CertificateSigningRequest(in CertificateSigningRequest, out *CertificateSigningRequest, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_CertificateSigningRequestSpec(in.Spec, &out.Spec, c); err != nil {
return err
}
if err := DeepCopy_v1alpha1_CertificateSigningRequestStatus(in.Status, &out.Status, c); err != nil {
return err
}
return nil
}
func DeepCopy_v1alpha1_CertificateSigningRequestCondition(in CertificateSigningRequestCondition, out *CertificateSigningRequestCondition, c *conversion.Cloner) error {
out.Type = in.Type
out.Reason = in.Reason
out.Message = in.Message
out.LastUpdateTime = in.LastUpdateTime.DeepCopy()
return nil
}
func DeepCopy_v1alpha1_CertificateSigningRequestList(in CertificateSigningRequestList, out *CertificateSigningRequestList, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := in.Items, &out.Items
*out = make([]CertificateSigningRequest, len(in))
for i := range in {
if err := DeepCopy_v1alpha1_CertificateSigningRequest(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
func DeepCopy_v1alpha1_CertificateSigningRequestSpec(in CertificateSigningRequestSpec, out *CertificateSigningRequestSpec, c *conversion.Cloner) error {
if in.Request != nil {
in, out := in.Request, &out.Request
*out = make([]byte, len(in))
copy(*out, in)
} else {
out.Request = nil
}
out.Username = in.Username
out.UID = in.UID
if in.Groups != nil {
in, out := in.Groups, &out.Groups
*out = make([]string, len(in))
copy(*out, in)
} else {
out.Groups = nil
}
return nil
}
func DeepCopy_v1alpha1_CertificateSigningRequestStatus(in CertificateSigningRequestStatus, out *CertificateSigningRequestStatus, c *conversion.Cloner) error {
if in.Conditions != nil {
in, out := in.Conditions, &out.Conditions
*out = make([]CertificateSigningRequestCondition, len(in))
for i := range in {
if err := DeepCopy_v1alpha1_CertificateSigningRequestCondition(in[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.Conditions = nil
}
if in.Certificate != nil {
in, out := in.Certificate, &out.Certificate
*out = make([]byte, len(in))
copy(*out, in)
} else {
out.Certificate = nil
}
return nil
}

View file

@ -37,6 +37,9 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import strings "strings"
import reflect "reflect"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
@ -44,25 +47,39 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
func (m *CertificateSigningRequest) Reset() { *m = CertificateSigningRequest{} }
func (m *CertificateSigningRequest) String() string { return proto.CompactTextString(m) }
func (*CertificateSigningRequest) ProtoMessage() {}
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1
func (m *CertificateSigningRequestCondition) Reset() { *m = CertificateSigningRequestCondition{} }
func (m *CertificateSigningRequestCondition) String() string { return proto.CompactTextString(m) }
func (*CertificateSigningRequestCondition) ProtoMessage() {}
func (m *CertificateSigningRequest) Reset() { *m = CertificateSigningRequest{} }
func (*CertificateSigningRequest) ProtoMessage() {}
func (*CertificateSigningRequest) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{0}
}
func (m *CertificateSigningRequestList) Reset() { *m = CertificateSigningRequestList{} }
func (m *CertificateSigningRequestList) String() string { return proto.CompactTextString(m) }
func (*CertificateSigningRequestList) ProtoMessage() {}
func (m *CertificateSigningRequestCondition) Reset() { *m = CertificateSigningRequestCondition{} }
func (*CertificateSigningRequestCondition) ProtoMessage() {}
func (*CertificateSigningRequestCondition) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{1}
}
func (m *CertificateSigningRequestSpec) Reset() { *m = CertificateSigningRequestSpec{} }
func (m *CertificateSigningRequestSpec) String() string { return proto.CompactTextString(m) }
func (*CertificateSigningRequestSpec) ProtoMessage() {}
func (m *CertificateSigningRequestList) Reset() { *m = CertificateSigningRequestList{} }
func (*CertificateSigningRequestList) ProtoMessage() {}
func (*CertificateSigningRequestList) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{2}
}
func (m *CertificateSigningRequestStatus) Reset() { *m = CertificateSigningRequestStatus{} }
func (m *CertificateSigningRequestStatus) String() string { return proto.CompactTextString(m) }
func (*CertificateSigningRequestStatus) ProtoMessage() {}
func (m *CertificateSigningRequestSpec) Reset() { *m = CertificateSigningRequestSpec{} }
func (*CertificateSigningRequestSpec) ProtoMessage() {}
func (*CertificateSigningRequestSpec) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{3}
}
func (m *CertificateSigningRequestStatus) Reset() { *m = CertificateSigningRequestStatus{} }
func (*CertificateSigningRequestStatus) ProtoMessage() {}
func (*CertificateSigningRequestStatus) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{4}
}
func init() {
proto.RegisterType((*CertificateSigningRequest)(nil), "k8s.io.kubernetes.pkg.apis.certificates.v1alpha1.CertificateSigningRequest")
@ -388,6 +405,74 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *CertificateSigningRequest) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CertificateSigningRequest{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CertificateSigningRequestSpec", "CertificateSigningRequestSpec", 1), `&`, ``, 1) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "CertificateSigningRequestStatus", "CertificateSigningRequestStatus", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *CertificateSigningRequestCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CertificateSigningRequestCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_kubernetes_pkg_api_unversioned.Time", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *CertificateSigningRequestList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CertificateSigningRequestList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_api_unversioned.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "CertificateSigningRequest", "CertificateSigningRequest", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *CertificateSigningRequestSpec) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CertificateSigningRequestSpec{`,
`Request:` + valueToStringGenerated(this.Request) + `,`,
`Username:` + fmt.Sprintf("%v", this.Username) + `,`,
`UID:` + fmt.Sprintf("%v", this.UID) + `,`,
`Groups:` + fmt.Sprintf("%v", this.Groups) + `,`,
`}`,
}, "")
return s
}
func (this *CertificateSigningRequestStatus) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&CertificateSigningRequestStatus{`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "CertificateSigningRequestCondition", "CertificateSigningRequestCondition", 1), `&`, ``, 1) + `,`,
`Certificate:` + valueToStringGenerated(this.Certificate) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *CertificateSigningRequest) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
@ -1190,3 +1275,50 @@ var (
ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow")
)
var fileDescriptorGenerated = []byte{
// 681 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4f, 0x4f, 0x13, 0x4f,
0x18, 0xa6, 0xb4, 0x94, 0x32, 0xe5, 0x07, 0xbf, 0x4c, 0x8c, 0xa9, 0x4d, 0xa0, 0x66, 0xa3, 0x06,
0x15, 0x66, 0x2d, 0x89, 0x09, 0x47, 0xb3, 0x98, 0x18, 0x22, 0x84, 0x38, 0x40, 0x62, 0x4c, 0x3c,
0x6c, 0xb7, 0xc3, 0x32, 0x96, 0xee, 0x2e, 0xf3, 0x87, 0x84, 0x9b, 0x47, 0x8f, 0x7e, 0x02, 0xbf,
0x86, 0x5f, 0x81, 0x23, 0x47, 0x4f, 0xa8, 0xf0, 0x05, 0x3c, 0x7b, 0x72, 0x66, 0x76, 0xb6, 0x5d,
0x5b, 0x16, 0x35, 0xe1, 0x30, 0x49, 0xe7, 0x99, 0xf7, 0x7d, 0xde, 0xf7, 0x7d, 0xde, 0x67, 0x0b,
0x9e, 0xf5, 0xd6, 0x38, 0xa2, 0xb1, 0xdb, 0x93, 0x1d, 0xc2, 0x22, 0x22, 0x08, 0x77, 0x93, 0x5e,
0xe8, 0xfa, 0x09, 0xe5, 0x6e, 0x40, 0x98, 0xa0, 0xfb, 0x34, 0xf0, 0x35, 0x7a, 0xdc, 0xf6, 0x0f,
0x93, 0x03, 0xbf, 0xed, 0x86, 0x24, 0x22, 0x4c, 0x41, 0x5d, 0x94, 0xb0, 0x58, 0xc4, 0xf0, 0x49,
0xca, 0x80, 0x86, 0x0c, 0x48, 0x31, 0x20, 0xcd, 0x80, 0xf2, 0x0c, 0x28, 0x63, 0x68, 0xae, 0x84,
0x54, 0x1c, 0xc8, 0x0e, 0x0a, 0xe2, 0xbe, 0x1b, 0xc6, 0x61, 0xec, 0x1a, 0xa2, 0x8e, 0xdc, 0x37,
0x37, 0x73, 0x31, 0xbf, 0xd2, 0x02, 0xcd, 0xd5, 0xc2, 0x16, 0x5d, 0x46, 0x78, 0x2c, 0x59, 0x40,
0x46, 0x9b, 0x6a, 0x3e, 0x2d, 0xce, 0x91, 0xd1, 0x31, 0x61, 0x9c, 0xc6, 0x11, 0xe9, 0x8e, 0xa5,
0x2d, 0x17, 0xa7, 0x1d, 0x8f, 0x4d, 0xde, 0x5c, 0xb9, 0x3a, 0x9a, 0xc9, 0x48, 0xd0, 0xfe, 0x78,
0x4f, 0xed, 0xab, 0xc3, 0xa5, 0xa0, 0x87, 0x2e, 0x8d, 0x04, 0x17, 0x6c, 0x34, 0xc5, 0xb9, 0x9c,
0x04, 0x77, 0xd6, 0x87, 0x1a, 0xee, 0xd0, 0x30, 0xa2, 0x51, 0x88, 0xc9, 0x91, 0x24, 0x5c, 0xc0,
0xd7, 0xa0, 0xd6, 0x27, 0xc2, 0xef, 0xfa, 0xc2, 0x6f, 0x94, 0xee, 0x96, 0x96, 0xea, 0xab, 0x4b,
0xa8, 0x70, 0x19, 0x4a, 0x7e, 0xb4, 0xdd, 0x79, 0x47, 0x02, 0xb1, 0xa5, 0x72, 0x3c, 0x78, 0x7a,
0xde, 0x9a, 0xb8, 0x38, 0x6f, 0x81, 0x21, 0x86, 0x07, 0x6c, 0xf0, 0x08, 0x54, 0x78, 0x42, 0x82,
0xc6, 0xa4, 0x61, 0xdd, 0x46, 0xff, 0xba, 0x62, 0x54, 0xd8, 0xf4, 0x8e, 0xa2, 0xf5, 0x66, 0x6d,
0xf1, 0x8a, 0xbe, 0x61, 0x53, 0x0a, 0x9e, 0x80, 0x2a, 0x17, 0xbe, 0x90, 0xbc, 0x51, 0x36, 0x45,
0x5f, 0xdd, 0x64, 0x51, 0x43, 0xec, 0xcd, 0xd9, 0xb2, 0xd5, 0xf4, 0x8e, 0x6d, 0x41, 0xe7, 0xd3,
0x24, 0x70, 0x0a, 0x73, 0xd7, 0xe3, 0xa8, 0x4b, 0x85, 0xb2, 0x0b, 0x5c, 0x03, 0x15, 0x71, 0x92,
0x10, 0x23, 0xf5, 0x8c, 0x77, 0x2f, 0x9b, 0x61, 0x57, 0x61, 0x3f, 0xcf, 0x5b, 0xb7, 0x46, 0xe3,
0x35, 0x8e, 0x4d, 0x06, 0x7c, 0x00, 0xaa, 0x8c, 0xf8, 0x3c, 0x8e, 0x8c, 0xa0, 0x33, 0xc3, 0x46,
0xb0, 0x41, 0xb1, 0x7d, 0x85, 0x0f, 0xc1, 0x74, 0x9f, 0x70, 0xee, 0x87, 0xc4, 0x88, 0x30, 0xe3,
0xcd, 0xdb, 0xc0, 0xe9, 0xad, 0x14, 0xc6, 0xd9, 0x3b, 0xec, 0x81, 0xb9, 0x43, 0x9f, 0x8b, 0xbd,
0x44, 0xed, 0x8b, 0xec, 0x2a, 0xbb, 0x35, 0x2a, 0x46, 0xb6, 0xc7, 0xd7, 0x38, 0x20, 0xe7, 0x7c,
0xa4, 0x53, 0xbc, 0xdb, 0x96, 0x7e, 0x6e, 0xf3, 0x37, 0x2a, 0x3c, 0x42, 0xed, 0xfc, 0x28, 0x81,
0x85, 0x42, 0x81, 0x36, 0xa9, 0xb2, 0xe2, 0xdb, 0x31, 0x2b, 0xba, 0x7f, 0xd9, 0x88, 0x4e, 0x37,
0x8e, 0xfc, 0xdf, 0x36, 0x53, 0xcb, 0x90, 0x9c, 0x1f, 0x13, 0x30, 0x45, 0x05, 0xe9, 0x73, 0xa5,
0x5f, 0x59, 0x71, 0xbf, 0xbc, 0x41, 0x6f, 0x78, 0xff, 0xd9, 0xba, 0x53, 0x1b, 0xba, 0x02, 0x4e,
0x0b, 0x39, 0x9f, 0xaf, 0x1b, 0x59, 0xdb, 0x16, 0xde, 0x07, 0xd3, 0x2c, 0xbd, 0x9a, 0x89, 0x67,
0xbd, 0xba, 0x5e, 0x94, 0x8d, 0xc0, 0xd9, 0x1b, 0x5c, 0x06, 0x35, 0xc9, 0x55, 0x93, 0xbe, 0x5a,
0x51, 0xba, 0xfd, 0xc1, 0xa0, 0x7b, 0x16, 0xc7, 0x83, 0x08, 0xb8, 0x00, 0xca, 0x92, 0x76, 0xed,
0xf6, 0xeb, 0x36, 0xb0, 0xbc, 0xb7, 0xf1, 0x1c, 0x6b, 0x1c, 0x3a, 0xa0, 0x1a, 0xb2, 0x58, 0x26,
0x5c, 0x6d, 0xbb, 0xac, 0x22, 0x80, 0x36, 0xd1, 0x0b, 0x83, 0x60, 0xfb, 0xe2, 0x7c, 0x2d, 0x81,
0xd6, 0x1f, 0xbe, 0x04, 0xf8, 0xa1, 0x04, 0x40, 0x90, 0x19, 0x95, 0xab, 0xfe, 0xb5, 0xaa, 0xbb,
0x37, 0xa8, 0xea, 0xe0, 0x2b, 0x18, 0xfe, 0xd1, 0x0c, 0x20, 0x8e, 0x73, 0xb5, 0x61, 0x1b, 0xd4,
0x73, 0xdc, 0x46, 0xa2, 0x59, 0x6f, 0x5e, 0x25, 0xd4, 0x73, 0xe4, 0x38, 0x1f, 0xe3, 0x3d, 0x3a,
0xfd, 0xbe, 0x38, 0x71, 0xa6, 0xce, 0x17, 0x75, 0xde, 0x5f, 0x2c, 0x96, 0x4e, 0xd5, 0x39, 0x53,
0xe7, 0x9b, 0x3a, 0x1f, 0x2f, 0x17, 0x27, 0xde, 0xd4, 0xb2, 0x0e, 0x7f, 0x05, 0x00, 0x00, 0xff,
0xff, 0x29, 0x0b, 0xef, 0x6d, 0xe0, 0x06, 0x00, 0x00,
}

View file

@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.certificates.v1alpha1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated".

Some files were not shown because too many files have changed in this diff Show more