Commit 708e753c authored by k8s-merge-robot's avatar k8s-merge-robot Committed by GitHub

Merge pull request #28679 from sttts/sttts-deepcopy-pointer-in

Automatic merge from submit-queue Deepcopy: avoid struct copies and reflection Call - make signature of generated deepcopy methods symmetric with `in *type, out *type`, avoiding copies of big structs on the stack - switch to `in interface{}, out interface{}` which allows us to call them with without `reflect.Call` The first change reduces runtime of BenchmarkPodCopy-4 from `> 3500ns` to around `2300ns`. The second change reduces runtime to around `1900ns`.
parents 47d06dd9 629b25da
...@@ -204,6 +204,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat ...@@ -204,6 +204,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
const ( const (
apiPackagePath = "k8s.io/kubernetes/pkg/api" apiPackagePath = "k8s.io/kubernetes/pkg/api"
conversionPackagePath = "k8s.io/kubernetes/pkg/conversion" conversionPackagePath = "k8s.io/kubernetes/pkg/conversion"
runtimePackagePath = "k8s.io/kubernetes/pkg/runtime"
) )
// genDeepCopy produces a file with autogenerated deep-copy functions. // genDeepCopy produces a file with autogenerated deep-copy functions.
...@@ -384,8 +385,10 @@ func (g *genDeepCopy) Init(c *generator.Context, w io.Writer) error { ...@@ -384,8 +385,10 @@ func (g *genDeepCopy) Init(c *generator.Context, w io.Writer) error {
sw.Do("if err := $.scheme|raw$.AddGeneratedDeepCopyFuncs(\n", map[string]interface{}{ sw.Do("if err := $.scheme|raw$.AddGeneratedDeepCopyFuncs(\n", map[string]interface{}{
"scheme": scheme, "scheme": scheme,
}) })
reflect := c.Universe.Type(types.Name{Package: "reflect", Name: "TypeOf"})
for _, t := range g.typesForInit { for _, t := range g.typesForInit {
sw.Do(fmt.Sprintf("%s,\n", g.funcNameTmpl(t)), argsFromType(t)) g.imports.AddType(reflect)
sw.Do(fmt.Sprintf("conversion.GeneratedDeepCopyFunc{Fn: %s, InType: reflect.TypeOf(func() *$.type|raw$ {var x *$.type|raw$; return x}())},\n", g.funcNameTmpl(t)), argsFromType(t))
} }
sw.Do("); err != nil {\n", nil) sw.Do("); err != nil {\n", nil)
sw.Do("// if one of the deep copy functions is malformed, detect it immediately.\n", nil) sw.Do("// if one of the deep copy functions is malformed, detect it immediately.\n", nil)
...@@ -425,10 +428,11 @@ func (g *genDeepCopy) GenerateType(c *generator.Context, t *types.Type, w io.Wri ...@@ -425,10 +428,11 @@ func (g *genDeepCopy) GenerateType(c *generator.Context, t *types.Type, w io.Wri
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
funcName := g.funcNameTmpl(t) funcName := g.funcNameTmpl(t)
sw.Do(fmt.Sprintf("func %s(in $.type|raw$, out *$.type|raw$, c *$.Cloner|raw$) error {\n", funcName), g.withGlobals(argsFromType(t))) sw.Do(fmt.Sprintf("func %s(in interface{}, out interface{}, c *$.Cloner|raw$) error {{\n", funcName), g.withGlobals(argsFromType(t)))
sw.Do("in := in.(*$.type|raw$)\nout := out.(*$.type|raw$)\n", g.withGlobals(argsFromType(t)))
g.generateFor(t, sw) g.generateFor(t, sw)
sw.Do("return nil\n", nil) sw.Do("return nil\n", nil)
sw.Do("}\n\n", nil) sw.Do("}}\n\n", nil)
return sw.Error() return sw.Error()
} }
...@@ -459,7 +463,7 @@ func (g *genDeepCopy) generateFor(t *types.Type, sw *generator.SnippetWriter) { ...@@ -459,7 +463,7 @@ func (g *genDeepCopy) generateFor(t *types.Type, sw *generator.SnippetWriter) {
} }
func (g *genDeepCopy) doBuiltin(t *types.Type, sw *generator.SnippetWriter) { func (g *genDeepCopy) doBuiltin(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("*out = in\n", nil) sw.Do("*out = *in\n", nil)
} }
func (g *genDeepCopy) doMap(t *types.Type, sw *generator.SnippetWriter) { func (g *genDeepCopy) doMap(t *types.Type, sw *generator.SnippetWriter) {
...@@ -467,63 +471,63 @@ func (g *genDeepCopy) doMap(t *types.Type, sw *generator.SnippetWriter) { ...@@ -467,63 +471,63 @@ func (g *genDeepCopy) doMap(t *types.Type, sw *generator.SnippetWriter) {
if t.Key.IsAssignable() { if t.Key.IsAssignable() {
switch { switch {
case hasDeepCopyMethod(t.Elem): case hasDeepCopyMethod(t.Elem):
sw.Do("for key, val := range in {\n", nil) sw.Do("for key, val := range *in {\n", nil)
sw.Do("(*out)[key] = val.DeepCopy()\n", nil) sw.Do("(*out)[key] = val.DeepCopy()\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
case t.Elem.IsAnonymousStruct(): case t.Elem.IsAnonymousStruct():
sw.Do("for key := range in {\n", nil) sw.Do("for key := range *in {\n", nil)
sw.Do("(*out)[key] = struct{}{}\n", nil) sw.Do("(*out)[key] = struct{}{}\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
case t.Elem.IsAssignable(): case t.Elem.IsAssignable():
sw.Do("for key, val := range in {\n", nil) sw.Do("for key, val := range *in {\n", nil)
sw.Do("(*out)[key] = val\n", nil) sw.Do("(*out)[key] = val\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
default: default:
sw.Do("for key, val := range in {\n", nil) sw.Do("for key, val := range *in {\n", nil)
if g.copyableAndInBounds(t.Elem) { if g.copyableAndInBounds(t.Elem) {
sw.Do("newVal := new($.|raw$)\n", t.Elem) sw.Do("newVal := new($.|raw$)\n", t.Elem)
funcName := g.funcNameTmpl(t.Elem) funcName := g.funcNameTmpl(t.Elem)
sw.Do(fmt.Sprintf("if err := %s(val, newVal, c); err != nil {\n", funcName), argsFromType(t.Elem)) sw.Do(fmt.Sprintf("if err := %s(&val, newVal, c); err != nil {\n", funcName), argsFromType(t.Elem))
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
sw.Do("(*out)[key] = *newVal\n", nil) sw.Do("(*out)[key] = *newVal\n", nil)
} else { } else {
sw.Do("if newVal, err := c.DeepCopy(val); err != nil {\n", nil) sw.Do("if newVal, err := c.DeepCopy(&val); err != nil {\n", nil)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("(*out)[key] = newVal.($.|raw$)\n", t.Elem) sw.Do("(*out)[key] = *newVal.(*$.|raw$)\n", t.Elem)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
} else { } else {
// TODO: Implement it when necessary. // TODO: Implement it when necessary.
sw.Do("for range in {\n", nil) sw.Do("for range *in {\n", nil)
sw.Do("// FIXME: Copying unassignable keys unsupported $.|raw$\n", t.Key) sw.Do("// FIXME: Copying unassignable keys unsupported $.|raw$\n", t.Key)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
} }
func (g *genDeepCopy) doSlice(t *types.Type, sw *generator.SnippetWriter) { func (g *genDeepCopy) doSlice(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("*out = make($.|raw$, len(in))\n", t) sw.Do("*out = make($.|raw$, len(*in))\n", t)
if t.Elem.Kind == types.Builtin { if t.Elem.Kind == types.Builtin {
sw.Do("copy(*out, in)\n", nil) sw.Do("copy(*out, *in)\n", nil)
} else { } else {
sw.Do("for i := range in {\n", nil) sw.Do("for i := range *in {\n", nil)
if hasDeepCopyMethod(t.Elem) { if hasDeepCopyMethod(t.Elem) {
sw.Do("(*out)[i] = in[i].DeepCopy()\n", nil) sw.Do("(*out)[i] = (*in)[i].DeepCopy()\n", nil)
} else if t.Elem.IsAssignable() { } else if t.Elem.IsAssignable() {
sw.Do("(*out)[i] = in[i]\n", nil) sw.Do("(*out)[i] = (*in)[i]\n", nil)
} else if g.copyableAndInBounds(t.Elem) { } else if g.copyableAndInBounds(t.Elem) {
funcName := g.funcNameTmpl(t.Elem) funcName := g.funcNameTmpl(t.Elem)
sw.Do(fmt.Sprintf("if err := %s(in[i], &(*out)[i], c); err != nil {\n", funcName), argsFromType(t.Elem)) sw.Do(fmt.Sprintf("if err := %s(&(*in)[i], &(*out)[i], c); err != nil {\n", funcName), argsFromType(t.Elem))
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} else { } else {
sw.Do("if newVal, err := c.DeepCopy(in[i]); err != nil {\n", nil) sw.Do("if newVal, err := c.DeepCopy(&(*in)[i]); err != nil {\n", nil)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("(*out)[i] = newVal.($.|raw$)\n", t.Elem) sw.Do("(*out)[i] = *newVal.(*$.|raw$)\n", t.Elem)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
sw.Do("}\n", nil) sw.Do("}\n", nil)
...@@ -531,6 +535,10 @@ func (g *genDeepCopy) doSlice(t *types.Type, sw *generator.SnippetWriter) { ...@@ -531,6 +535,10 @@ func (g *genDeepCopy) doSlice(t *types.Type, sw *generator.SnippetWriter) {
} }
func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) { func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) {
if len(t.Members) == 0 {
// at least do something with in/out to avoid "declared and not used" errors
sw.Do("_ = in\n_ = out\n", nil)
}
for _, m := range t.Members { for _, m := range t.Members {
t := m.Type t := m.Type
if t.Kind == types.Alias { if t.Kind == types.Alias {
...@@ -547,7 +555,7 @@ func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) { ...@@ -547,7 +555,7 @@ func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("out.$.name$ = in.$.name$\n", args) sw.Do("out.$.name$ = in.$.name$\n", args)
case types.Map, types.Slice, types.Pointer: case types.Map, types.Slice, types.Pointer:
sw.Do("if in.$.name$ != nil {\n", args) sw.Do("if in.$.name$ != nil {\n", args)
sw.Do("in, out := in.$.name$, &out.$.name$\n", args) sw.Do("in, out := &in.$.name$, &out.$.name$\n", args)
g.generateFor(t, sw) g.generateFor(t, sw)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("out.$.name$ = nil\n", args) sw.Do("out.$.name$ = nil\n", args)
...@@ -559,23 +567,23 @@ func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) { ...@@ -559,23 +567,23 @@ func (g *genDeepCopy) doStruct(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("out.$.name$ = in.$.name$\n", args) sw.Do("out.$.name$ = in.$.name$\n", args)
} else if g.copyableAndInBounds(t) { } else if g.copyableAndInBounds(t) {
funcName := g.funcNameTmpl(t) funcName := g.funcNameTmpl(t)
sw.Do(fmt.Sprintf("if err := %s(in.$.name$, &out.$.name$, c); err != nil {\n", funcName), args) sw.Do(fmt.Sprintf("if err := %s(&in.$.name$, &out.$.name$, c); err != nil {\n", funcName), args)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} else { } else {
sw.Do("if newVal, err := c.DeepCopy(in.$.name$); err != nil {\n", args) sw.Do("if newVal, err := c.DeepCopy(&in.$.name$); err != nil {\n", args)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("out.$.name$ = newVal.($.type|raw$)\n", args) sw.Do("out.$.name$ = *newVal.(*$.type|raw$)\n", args)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
default: default:
sw.Do("if in.$.name$ == nil {\n", args) sw.Do("if in.$.name$ == nil {\n", args)
sw.Do("out.$.name$ = nil\n", args) sw.Do("out.$.name$ = nil\n", args)
sw.Do("} else if newVal, err := c.DeepCopy(in.$.name$); err != nil {\n", args) sw.Do("} else if newVal, err := c.DeepCopy(&in.$.name$); err != nil {\n", args)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("out.$.name$ = newVal.($.type|raw$)\n", args) sw.Do("out.$.name$ = *newVal.(*$.type|raw$)\n", args)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
} }
...@@ -587,13 +595,15 @@ func (g *genDeepCopy) doInterface(t *types.Type, sw *generator.SnippetWriter) { ...@@ -587,13 +595,15 @@ func (g *genDeepCopy) doInterface(t *types.Type, sw *generator.SnippetWriter) {
} }
func (g *genDeepCopy) doPointer(t *types.Type, sw *generator.SnippetWriter) { func (g *genDeepCopy) doPointer(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("*out = new($.Elem|raw$)\n", t)
if hasDeepCopyMethod(t.Elem) { if hasDeepCopyMethod(t.Elem) {
sw.Do("**out = in.DeepCopy()\n", nil) sw.Do("*out = new($.Elem|raw$)\n", t)
sw.Do("**out = (*in).DeepCopy()\n", nil)
} else if t.Elem.IsAssignable() { } else if t.Elem.IsAssignable() {
sw.Do("**out = *in", nil) sw.Do("*out = new($.Elem|raw$)\n", t)
sw.Do("**out = **in", nil)
} else if g.copyableAndInBounds(t.Elem) { } else if g.copyableAndInBounds(t.Elem) {
funcName := g.funcNameTmpl(t.Elem) funcName := g.funcNameTmpl(t.Elem)
sw.Do("*out = new($.Elem|raw$)\n", t)
sw.Do(fmt.Sprintf("if err := %s(*in, *out, c); err != nil {\n", funcName), argsFromType(t.Elem)) sw.Do(fmt.Sprintf("if err := %s(*in, *out, c); err != nil {\n", funcName), argsFromType(t.Elem))
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("}\n", nil) sw.Do("}\n", nil)
...@@ -601,7 +611,7 @@ func (g *genDeepCopy) doPointer(t *types.Type, sw *generator.SnippetWriter) { ...@@ -601,7 +611,7 @@ func (g *genDeepCopy) doPointer(t *types.Type, sw *generator.SnippetWriter) {
sw.Do("if newVal, err := c.DeepCopy(*in); err != nil {\n", nil) sw.Do("if newVal, err := c.DeepCopy(*in); err != nil {\n", nil)
sw.Do("return err\n", nil) sw.Do("return err\n", nil)
sw.Do("} else {\n", nil) sw.Do("} else {\n", nil)
sw.Do("**out = newVal.($.|raw$)\n", t.Elem) sw.Do("*out = newVal.($.|raw$)\n", t.Elem)
sw.Do("}\n", nil) sw.Do("}\n", nil)
} }
} }
......
...@@ -23,108 +23,133 @@ package federation ...@@ -23,108 +23,133 @@ package federation
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_federation_Cluster, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_Cluster, InType: reflect.TypeOf(func() *Cluster { var x *Cluster; return x }())},
DeepCopy_federation_ClusterCondition, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_ClusterCondition, InType: reflect.TypeOf(func() *ClusterCondition { var x *ClusterCondition; return x }())},
DeepCopy_federation_ClusterList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_ClusterList, InType: reflect.TypeOf(func() *ClusterList { var x *ClusterList; return x }())},
DeepCopy_federation_ClusterSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_ClusterSpec, InType: reflect.TypeOf(func() *ClusterSpec { var x *ClusterSpec; return x }())},
DeepCopy_federation_ClusterStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_ClusterStatus, InType: reflect.TypeOf(func() *ClusterStatus { var x *ClusterStatus; return x }())},
DeepCopy_federation_ServerAddressByClientCIDR, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_federation_ServerAddressByClientCIDR, InType: reflect.TypeOf(func() *ServerAddressByClientCIDR { var x *ServerAddressByClientCIDR; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_federation_Cluster(in Cluster, out *Cluster, c *conversion.Cloner) error { func DeepCopy_federation_Cluster(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*Cluster)
return err out := out.(*Cluster)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_federation_ClusterSpec(in.Spec, &out.Spec, c); err != nil { if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_federation_ClusterStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_federation_ClusterSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_federation_ClusterStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_federation_ClusterCondition(in ClusterCondition, out *ClusterCondition, c *conversion.Cloner) error { func DeepCopy_federation_ClusterCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Type = in.Type {
out.Status = in.Status in := in.(*ClusterCondition)
out.LastProbeTime = in.LastProbeTime.DeepCopy() out := out.(*ClusterCondition)
out.LastTransitionTime = in.LastTransitionTime.DeepCopy() out.Type = in.Type
out.Reason = in.Reason out.Status = in.Status
out.Message = in.Message out.LastProbeTime = in.LastProbeTime.DeepCopy()
return nil out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
} }
func DeepCopy_federation_ClusterList(in ClusterList, out *ClusterList, c *conversion.Cloner) error { func DeepCopy_federation_ClusterList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*ClusterList)
if in.Items != nil { out := out.(*ClusterList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]Cluster, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_federation_Cluster(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *out = make([]Cluster, len(*in))
for i := range *in {
if err := DeepCopy_federation_Cluster(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Items = nil
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_federation_ClusterSpec(in ClusterSpec, out *ClusterSpec, c *conversion.Cloner) error { func DeepCopy_federation_ClusterSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ServerAddressByClientCIDRs != nil { {
in, out := in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs in := in.(*ClusterSpec)
*out = make([]ServerAddressByClientCIDR, len(in)) out := out.(*ClusterSpec)
for i := range in { if in.ServerAddressByClientCIDRs != nil {
(*out)[i] = in[i] in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs
*out = make([]ServerAddressByClientCIDR, len(*in))
for i := range *in {
(*out)[i] = (*in)[i]
}
} else {
out.ServerAddressByClientCIDRs = nil
} }
} else { if in.SecretRef != nil {
out.ServerAddressByClientCIDRs = nil in, out := &in.SecretRef, &out.SecretRef
} *out = new(api.LocalObjectReference)
if in.SecretRef != nil { **out = **in
in, out := in.SecretRef, &out.SecretRef } else {
*out = new(api.LocalObjectReference) out.SecretRef = nil
**out = *in }
} else { return nil
out.SecretRef = nil
} }
return nil
} }
func DeepCopy_federation_ClusterStatus(in ClusterStatus, out *ClusterStatus, c *conversion.Cloner) error { func DeepCopy_federation_ClusterStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Conditions != nil { {
in, out := in.Conditions, &out.Conditions in := in.(*ClusterStatus)
*out = make([]ClusterCondition, len(in)) out := out.(*ClusterStatus)
for i := range in { if in.Conditions != nil {
if err := DeepCopy_federation_ClusterCondition(in[i], &(*out)[i], c); err != nil { in, out := &in.Conditions, &out.Conditions
return err *out = make([]ClusterCondition, len(*in))
for i := range *in {
if err := DeepCopy_federation_ClusterCondition(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Conditions = nil
} }
} else { if in.Zones != nil {
out.Conditions = nil in, out := &in.Zones, &out.Zones
} *out = make([]string, len(*in))
if in.Zones != nil { copy(*out, *in)
in, out := in.Zones, &out.Zones } else {
*out = make([]string, len(in)) out.Zones = nil
copy(*out, in) }
} else { out.Region = in.Region
out.Zones = nil return nil
} }
out.Region = in.Region
return nil
} }
func DeepCopy_federation_ServerAddressByClientCIDR(in ServerAddressByClientCIDR, out *ServerAddressByClientCIDR, c *conversion.Cloner) error { func DeepCopy_federation_ServerAddressByClientCIDR(in interface{}, out interface{}, c *conversion.Cloner) error {
out.ClientCIDR = in.ClientCIDR {
out.ServerAddress = in.ServerAddress in := in.(*ServerAddressByClientCIDR)
return nil out := out.(*ServerAddressByClientCIDR)
out.ClientCIDR = in.ClientCIDR
out.ServerAddress = in.ServerAddress
return nil
}
} }
...@@ -24,108 +24,133 @@ import ( ...@@ -24,108 +24,133 @@ import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1beta1_Cluster, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_Cluster, InType: reflect.TypeOf(func() *Cluster { var x *Cluster; return x }())},
DeepCopy_v1beta1_ClusterCondition, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ClusterCondition, InType: reflect.TypeOf(func() *ClusterCondition { var x *ClusterCondition; return x }())},
DeepCopy_v1beta1_ClusterList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ClusterList, InType: reflect.TypeOf(func() *ClusterList { var x *ClusterList; return x }())},
DeepCopy_v1beta1_ClusterSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ClusterSpec, InType: reflect.TypeOf(func() *ClusterSpec { var x *ClusterSpec; return x }())},
DeepCopy_v1beta1_ClusterStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ClusterStatus, InType: reflect.TypeOf(func() *ClusterStatus { var x *ClusterStatus; return x }())},
DeepCopy_v1beta1_ServerAddressByClientCIDR, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ServerAddressByClientCIDR, InType: reflect.TypeOf(func() *ServerAddressByClientCIDR { var x *ServerAddressByClientCIDR; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1beta1_Cluster(in Cluster, out *Cluster, c *conversion.Cloner) error { func DeepCopy_v1beta1_Cluster(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*Cluster)
return err out := out.(*Cluster)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_ClusterSpec(in.Spec, &out.Spec, c); err != nil { if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_v1beta1_ClusterStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_v1beta1_ClusterSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_v1beta1_ClusterStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1beta1_ClusterCondition(in ClusterCondition, out *ClusterCondition, c *conversion.Cloner) error { func DeepCopy_v1beta1_ClusterCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Type = in.Type {
out.Status = in.Status in := in.(*ClusterCondition)
out.LastProbeTime = in.LastProbeTime.DeepCopy() out := out.(*ClusterCondition)
out.LastTransitionTime = in.LastTransitionTime.DeepCopy() out.Type = in.Type
out.Reason = in.Reason out.Status = in.Status
out.Message = in.Message out.LastProbeTime = in.LastProbeTime.DeepCopy()
return nil out.LastTransitionTime = in.LastTransitionTime.DeepCopy()
out.Reason = in.Reason
out.Message = in.Message
return nil
}
} }
func DeepCopy_v1beta1_ClusterList(in ClusterList, out *ClusterList, c *conversion.Cloner) error { func DeepCopy_v1beta1_ClusterList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*ClusterList)
if in.Items != nil { out := out.(*ClusterList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]Cluster, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_v1beta1_Cluster(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *out = make([]Cluster, len(*in))
for i := range *in {
if err := DeepCopy_v1beta1_Cluster(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Items = nil
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_v1beta1_ClusterSpec(in ClusterSpec, out *ClusterSpec, c *conversion.Cloner) error { func DeepCopy_v1beta1_ClusterSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ServerAddressByClientCIDRs != nil { {
in, out := in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs in := in.(*ClusterSpec)
*out = make([]ServerAddressByClientCIDR, len(in)) out := out.(*ClusterSpec)
for i := range in { if in.ServerAddressByClientCIDRs != nil {
(*out)[i] = in[i] in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs
*out = make([]ServerAddressByClientCIDR, len(*in))
for i := range *in {
(*out)[i] = (*in)[i]
}
} else {
out.ServerAddressByClientCIDRs = nil
} }
} else { if in.SecretRef != nil {
out.ServerAddressByClientCIDRs = nil in, out := &in.SecretRef, &out.SecretRef
} *out = new(v1.LocalObjectReference)
if in.SecretRef != nil { **out = **in
in, out := in.SecretRef, &out.SecretRef } else {
*out = new(v1.LocalObjectReference) out.SecretRef = nil
**out = *in }
} else { return nil
out.SecretRef = nil
} }
return nil
} }
func DeepCopy_v1beta1_ClusterStatus(in ClusterStatus, out *ClusterStatus, c *conversion.Cloner) error { func DeepCopy_v1beta1_ClusterStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Conditions != nil { {
in, out := in.Conditions, &out.Conditions in := in.(*ClusterStatus)
*out = make([]ClusterCondition, len(in)) out := out.(*ClusterStatus)
for i := range in { if in.Conditions != nil {
if err := DeepCopy_v1beta1_ClusterCondition(in[i], &(*out)[i], c); err != nil { in, out := &in.Conditions, &out.Conditions
return err *out = make([]ClusterCondition, len(*in))
for i := range *in {
if err := DeepCopy_v1beta1_ClusterCondition(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Conditions = nil
} }
} else { if in.Zones != nil {
out.Conditions = nil in, out := &in.Zones, &out.Zones
} *out = make([]string, len(*in))
if in.Zones != nil { copy(*out, *in)
in, out := in.Zones, &out.Zones } else {
*out = make([]string, len(in)) out.Zones = nil
copy(*out, in) }
} else { out.Region = in.Region
out.Zones = nil return nil
} }
out.Region = in.Region
return nil
} }
func DeepCopy_v1beta1_ServerAddressByClientCIDR(in ServerAddressByClientCIDR, out *ServerAddressByClientCIDR, c *conversion.Cloner) error { func DeepCopy_v1beta1_ServerAddressByClientCIDR(in interface{}, out interface{}, c *conversion.Cloner) error {
out.ClientCIDR = in.ClientCIDR {
out.ServerAddress = in.ServerAddress in := in.(*ServerAddressByClientCIDR)
return nil out := out.(*ServerAddressByClientCIDR)
out.ClientCIDR = in.ClientCIDR
out.ServerAddress = in.ServerAddress
return nil
}
} }
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.federation.apis.federation.v1beta1; ...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.federation.apis.federation.v1beta1;
import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -38,15 +38,7 @@ func BenchmarkPodConversion(b *testing.B) { ...@@ -38,15 +38,7 @@ func BenchmarkPodConversion(b *testing.B) {
} }
// add a fixed item // add a fixed item
data, err := ioutil.ReadFile("pod_example.json") items = append(items, benchmarkPod)
if err != nil {
b.Fatalf("Unexpected error while reading file: %v", err)
}
var pod api.Pod
if err := runtime.DecodeInto(testapi.Default.Codec(), data, &pod); err != nil {
b.Fatalf("Unexpected error decoding pod: %v", err)
}
items = append(items, pod)
width := len(items) width := len(items)
scheme := api.Scheme scheme := api.Scheme
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -19,32 +19,129 @@ package api_test ...@@ -19,32 +19,129 @@ package api_test
import ( import (
"io/ioutil" "io/ioutil"
"testing" "testing"
"time"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/types"
) )
func BenchmarkPodCopy(b *testing.B) { func parseTimeOrDie(ts string) unversioned.Time {
data, err := ioutil.ReadFile("pod_example.json") t, err := time.Parse(time.RFC3339, ts)
if err != nil { if err != nil {
b.Fatalf("Unexpected error while reading file: %v", err) panic(err)
}
var pod api.Pod
if err := runtime.DecodeInto(testapi.Default.Codec(), data, &pod); err != nil {
b.Fatalf("Unexpected error decoding pod: %v", err)
} }
return unversioned.Time{Time: t}
}
var benchmarkPod api.Pod = api.Pod{
TypeMeta: unversioned.TypeMeta{
Kind: "Pod",
APIVersion: "v1",
},
ObjectMeta: api.ObjectMeta{
Name: "etcd-server-e2e-test-wojtekt-master",
Namespace: "default",
SelfLink: "/api/v1/namespaces/default/pods/etcd-server-e2e-test-wojtekt-master",
UID: types.UID("a671734a-e8e5-11e4-8fde-42010af09327"),
ResourceVersion: "22",
CreationTimestamp: parseTimeOrDie("2015-04-22T11:49:36Z"),
Annotations: map[string]string{
"kubernetes.io/config.mirror": "mirror",
"kubernetes.io/config.source": "file",
},
},
Spec: api.PodSpec{
Volumes: []api.Volume{
{
Name: "varetcd",
VolumeSource: api.VolumeSource{
HostPath: &api.HostPathVolumeSource{
Path: "/mnt/master-pd/var/etcd",
},
},
},
},
Containers: []api.Container{
{
Name: "etcd-container",
Image: "gcr.io/google_containers/etcd:2.0.9",
Command: []string{
"/usr/local/bin/etcd",
"--addr",
"127.0.0.1:4001",
"--bind-addr",
"127.0.0.1:4001",
"--data-dir",
"/var/etcd/data",
},
Ports: []api.ContainerPort{
{
Name: "serverport",
HostPort: 2380,
ContainerPort: 2380,
Protocol: "TCP",
},
{
Name: "clientport",
HostPort: 4001,
ContainerPort: 4001,
Protocol: "TCP",
},
},
VolumeMounts: []api.VolumeMount{
{
Name: "varetcd",
MountPath: "/var/etcd",
},
},
TerminationMessagePath: "/dev/termination-log",
ImagePullPolicy: api.PullIfNotPresent,
},
},
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
NodeName: "e2e-test-wojtekt-master",
},
Status: api.PodStatus{
Phase: api.PodRunning,
Conditions: []api.PodCondition{
{
Type: api.PodReady,
Status: api.ConditionTrue,
},
},
ContainerStatuses: []api.ContainerStatus{
{
Name: "etcd-container",
State: api.ContainerState{
Running: &api.ContainerStateRunning{
StartedAt: parseTimeOrDie("2015-04-22T11:49:32Z"),
},
},
Ready: true,
RestartCount: 0,
Image: "gcr.io/google_containers/etcd:2.0.9",
ImageID: "docker://b6b9a86dc06aa1361357ca1b105feba961f6a4145adca6c54e142c0be0fe87b0",
ContainerID: "docker://3cbbf818f1addfc252957b4504f56ef2907a313fe6afc47fc75373674255d46d",
},
},
},
}
func BenchmarkPodCopy(b *testing.B) {
var result *api.Pod var result *api.Pod
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
obj, err := api.Scheme.DeepCopy(&pod) obj, err := api.Scheme.DeepCopy(&benchmarkPod)
if err != nil { if err != nil {
b.Fatalf("Unexpected error copying pod: %v", err) b.Fatalf("Unexpected error copying pod: %v", err)
} }
result = obj.(*api.Pod) result = obj.(*api.Pod)
} }
if !api.Semantic.DeepEqual(pod, *result) { if !api.Semantic.DeepEqual(benchmarkPod, *result) {
b.Fatalf("Incorrect copy: expected %v, got %v", pod, *result) b.Fatalf("Incorrect copy: expected %v, got %v", benchmarkPod, *result)
} }
} }
......
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "etcd-server-e2e-test-wojtekt-master",
"namespace": "default",
"selfLink": "/api/v1/namespaces/default/pods/etcd-server-e2e-test-wojtekt-master",
"uid": "a671734a-e8e5-11e4-8fde-42010af09327",
"resourceVersion": "22",
"creationTimestamp": "2015-04-22T11:49:36Z",
"annotations": {
"kubernetes.io/config.mirror": "mirror",
"kubernetes.io/config.source": "file"
}
},
"spec": {
"volumes": [
{
"name": "varetcd",
"hostPath": {
"path": "/mnt/master-pd/var/etcd"
},
"emptyDir": null,
"gcePersistentDisk": null,
"awsElasticBlockStore": null,
"gitRepo": null,
"secret": null,
"nfs": null,
"iscsi": null,
"glusterfs": null
}
],
"containers": [
{
"name": "etcd-container",
"image": "gcr.io/google_containers/etcd:2.0.9",
"command": [
"/usr/local/bin/etcd",
"--addr",
"127.0.0.1:4001",
"--bind-addr",
"127.0.0.1:4001",
"--data-dir",
"/var/etcd/data"
],
"ports": [
{
"name": "serverport",
"hostPort": 2380,
"containerPort": 2380,
"protocol": "TCP"
},
{
"name": "clientport",
"hostPort": 4001,
"containerPort": 4001,
"protocol": "TCP"
}
],
"resources": {},
"volumeMounts": [
{
"name": "varetcd",
"mountPath": "/var/etcd"
}
],
"terminationMessagePath": "/dev/termination-log",
"imagePullPolicy": "IfNotPresent",
"capabilities": {}
}
],
"restartPolicy": "Always",
"dnsPolicy": "ClusterFirst",
"nodeName": "e2e-test-wojtekt-master",
"hostNetwork": true
},
"status": {
"phase": "Running",
"conditions": [
{
"type": "Ready",
"status": "True"
}
],
"containerStatuses": [
{
"name": "etcd-container",
"state": {
"running": {
"startedAt": "2015-04-22T11:49:32Z"
}
},
"lastState": {},
"ready": true,
"restartCount": 0,
"image": "gcr.io/google_containers/etcd:2.0.9",
"imageID": "docker://b6b9a86dc06aa1361357ca1b105feba961f6a4145adca6c54e142c0be0fe87b0",
"containerID": "docker://3cbbf818f1addfc252957b4504f56ef2907a313fe6afc47fc75373674255d46d"
}
]
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -24,88 +24,105 @@ import ( ...@@ -24,88 +24,105 @@ import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_apps_PetSet, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSet, InType: reflect.TypeOf(func() *PetSet { var x *PetSet; return x }())},
DeepCopy_apps_PetSetList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetList, InType: reflect.TypeOf(func() *PetSetList { var x *PetSetList; return x }())},
DeepCopy_apps_PetSetSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetSpec, InType: reflect.TypeOf(func() *PetSetSpec { var x *PetSetSpec; return x }())},
DeepCopy_apps_PetSetStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_PetSetStatus, InType: reflect.TypeOf(func() *PetSetStatus { var x *PetSetStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_apps_PetSet(in PetSet, out *PetSet, c *conversion.Cloner) error { func DeepCopy_apps_PetSet(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*PetSet)
return err out := out.(*PetSet)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_apps_PetSetSpec(in.Spec, &out.Spec, c); err != nil { if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_apps_PetSetStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_apps_PetSetSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_apps_PetSetStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_apps_PetSetList(in PetSetList, out *PetSetList, c *conversion.Cloner) error { func DeepCopy_apps_PetSetList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*PetSetList)
if in.Items != nil { out := out.(*PetSetList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]PetSet, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_apps_PetSet(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_apps_PetSetSpec(in PetSetSpec, out *PetSetSpec, c *conversion.Cloner) error { func DeepCopy_apps_PetSetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Replicas = in.Replicas {
if in.Selector != nil { in := in.(*PetSetSpec)
in, out := in.Selector, &out.Selector out := out.(*PetSetSpec)
*out = new(unversioned.LabelSelector) out.Replicas = in.Replicas
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != 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 := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
return err return err
} }
} else { if in.VolumeClaimTemplates != nil {
out.Selector = nil in, out := &in.VolumeClaimTemplates, &out.VolumeClaimTemplates
} *out = make([]api.PersistentVolumeClaim, len(*in))
if err := api.DeepCopy_api_PodTemplateSpec(in.Template, &out.Template, c); err != nil { for i := range *in {
return err if err := api.DeepCopy_api_PersistentVolumeClaim(&(*in)[i], &(*out)[i], 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
} }
} else { out.ServiceName = in.ServiceName
out.VolumeClaimTemplates = nil return nil
} }
out.ServiceName = in.ServiceName
return nil
} }
func DeepCopy_apps_PetSetStatus(in PetSetStatus, out *PetSetStatus, c *conversion.Cloner) error { func DeepCopy_apps_PetSetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ObservedGeneration != nil { {
in, out := in.ObservedGeneration, &out.ObservedGeneration in := in.(*PetSetStatus)
*out = new(int64) out := out.(*PetSetStatus)
**out = *in if in.ObservedGeneration != nil {
} else { in, out := &in.ObservedGeneration, &out.ObservedGeneration
out.ObservedGeneration = nil *out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
} }
out.Replicas = in.Replicas
return nil
} }
...@@ -25,94 +25,111 @@ import ( ...@@ -25,94 +25,111 @@ import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_PetSet, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSet, InType: reflect.TypeOf(func() *PetSet { var x *PetSet; return x }())},
DeepCopy_v1alpha1_PetSetList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetList, InType: reflect.TypeOf(func() *PetSetList { var x *PetSetList; return x }())},
DeepCopy_v1alpha1_PetSetSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetSpec, InType: reflect.TypeOf(func() *PetSetSpec { var x *PetSetSpec; return x }())},
DeepCopy_v1alpha1_PetSetStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PetSetStatus, InType: reflect.TypeOf(func() *PetSetStatus { var x *PetSetStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1alpha1_PetSet(in PetSet, out *PetSet, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PetSet(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*PetSet)
return err out := out.(*PetSet)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1alpha1_PetSetSpec(in.Spec, &out.Spec, c); err != nil { if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_v1alpha1_PetSetStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_v1alpha1_PetSetSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_v1alpha1_PetSetStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1alpha1_PetSetList(in PetSetList, out *PetSetList, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PetSetList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*PetSetList)
if in.Items != nil { out := out.(*PetSetList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]PetSet, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_v1alpha1_PetSet(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_v1alpha1_PetSetSpec(in PetSetSpec, out *PetSetSpec, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PetSetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Replicas != nil { {
in, out := in.Replicas, &out.Replicas in := in.(*PetSetSpec)
*out = new(int32) out := out.(*PetSetSpec)
**out = *in if in.Replicas != nil {
} else { in, out := &in.Replicas, &out.Replicas
out.Replicas = nil *out = new(int32)
} **out = **in
if in.Selector != nil { } else {
in, out := in.Selector, &out.Selector out.Replicas = nil
*out = new(unversioned.LabelSelector)
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err
} }
} else { if in.Selector != nil {
out.Selector = nil in, out := &in.Selector, &out.Selector
} *out = new(unversioned.LabelSelector)
if err := v1.DeepCopy_v1_PodTemplateSpec(in.Template, &out.Template, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, 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 return err
} }
} else {
out.Selector = nil
} }
} else { if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil {
out.VolumeClaimTemplates = 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
} }
out.ServiceName = in.ServiceName
return nil
} }
func DeepCopy_v1alpha1_PetSetStatus(in PetSetStatus, out *PetSetStatus, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PetSetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ObservedGeneration != nil { {
in, out := in.ObservedGeneration, &out.ObservedGeneration in := in.(*PetSetStatus)
*out = new(int64) out := out.(*PetSetStatus)
**out = *in if in.ObservedGeneration != nil {
} else { in, out := &in.ObservedGeneration, &out.ObservedGeneration
out.ObservedGeneration = nil *out = new(int64)
**out = **in
} else {
out.ObservedGeneration = nil
}
out.Replicas = in.Replicas
return nil
} }
out.Replicas = in.Replicas
return nil
} }
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.apps.v1alpha1; ...@@ -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/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -23,64 +23,81 @@ package authentication ...@@ -23,64 +23,81 @@ package authentication
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_authenticationk8sio_TokenReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authenticationk8sio_TokenReview, InType: reflect.TypeOf(func() *TokenReview { var x *TokenReview; return x }())},
DeepCopy_authenticationk8sio_TokenReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authenticationk8sio_TokenReviewSpec, InType: reflect.TypeOf(func() *TokenReviewSpec { var x *TokenReviewSpec; return x }())},
DeepCopy_authenticationk8sio_TokenReviewStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authenticationk8sio_TokenReviewStatus, InType: reflect.TypeOf(func() *TokenReviewStatus { var x *TokenReviewStatus; return x }())},
DeepCopy_authenticationk8sio_UserInfo, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authenticationk8sio_UserInfo, InType: reflect.TypeOf(func() *UserInfo { var x *UserInfo; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_authenticationk8sio_TokenReview(in TokenReview, out *TokenReview, c *conversion.Cloner) error { func DeepCopy_authenticationk8sio_TokenReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.Spec = in.Spec in := in.(*TokenReview)
if err := DeepCopy_authenticationk8sio_TokenReviewStatus(in.Status, &out.Status, c); err != nil { out := out.(*TokenReview)
return err out.TypeMeta = in.TypeMeta
out.Spec = in.Spec
if err := DeepCopy_authenticationk8sio_TokenReviewStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_authenticationk8sio_TokenReviewSpec(in TokenReviewSpec, out *TokenReviewSpec, c *conversion.Cloner) error { func DeepCopy_authenticationk8sio_TokenReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Token = in.Token {
return nil in := in.(*TokenReviewSpec)
out := out.(*TokenReviewSpec)
out.Token = in.Token
return nil
}
} }
func DeepCopy_authenticationk8sio_TokenReviewStatus(in TokenReviewStatus, out *TokenReviewStatus, c *conversion.Cloner) error { func DeepCopy_authenticationk8sio_TokenReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Authenticated = in.Authenticated {
if err := DeepCopy_authenticationk8sio_UserInfo(in.User, &out.User, c); err != nil { in := in.(*TokenReviewStatus)
return err out := out.(*TokenReviewStatus)
out.Authenticated = in.Authenticated
if err := DeepCopy_authenticationk8sio_UserInfo(&in.User, &out.User, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_authenticationk8sio_UserInfo(in UserInfo, out *UserInfo, c *conversion.Cloner) error { func DeepCopy_authenticationk8sio_UserInfo(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Username = in.Username {
out.UID = in.UID in := in.(*UserInfo)
if in.Groups != nil { out := out.(*UserInfo)
in, out := in.Groups, &out.Groups out.Username = in.Username
*out = make([]string, len(in)) out.UID = in.UID
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
} copy(*out, *in)
if in.Extra != nil { } else {
in, out := in.Extra, &out.Extra out.Groups = nil
*out = make(map[string][]string) }
for key, val := range in { if in.Extra != nil {
if newVal, err := c.DeepCopy(val); err != nil { in, out := &in.Extra, &out.Extra
return err *out = make(map[string][]string)
} else { for key, val := range *in {
(*out)[key] = newVal.([]string) if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*[]string)
}
} }
} else {
out.Extra = nil
} }
} else { return nil
out.Extra = nil
} }
return nil
} }
...@@ -23,64 +23,81 @@ package v1beta1 ...@@ -23,64 +23,81 @@ package v1beta1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1beta1_TokenReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReview, InType: reflect.TypeOf(func() *TokenReview { var x *TokenReview; return x }())},
DeepCopy_v1beta1_TokenReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReviewSpec, InType: reflect.TypeOf(func() *TokenReviewSpec { var x *TokenReviewSpec; return x }())},
DeepCopy_v1beta1_TokenReviewStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_TokenReviewStatus, InType: reflect.TypeOf(func() *TokenReviewStatus { var x *TokenReviewStatus; return x }())},
DeepCopy_v1beta1_UserInfo, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_UserInfo, InType: reflect.TypeOf(func() *UserInfo { var x *UserInfo; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1beta1_TokenReview(in TokenReview, out *TokenReview, c *conversion.Cloner) error { func DeepCopy_v1beta1_TokenReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.Spec = in.Spec in := in.(*TokenReview)
if err := DeepCopy_v1beta1_TokenReviewStatus(in.Status, &out.Status, c); err != nil { out := out.(*TokenReview)
return err out.TypeMeta = in.TypeMeta
out.Spec = in.Spec
if err := DeepCopy_v1beta1_TokenReviewStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1beta1_TokenReviewSpec(in TokenReviewSpec, out *TokenReviewSpec, c *conversion.Cloner) error { func DeepCopy_v1beta1_TokenReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Token = in.Token {
return nil in := in.(*TokenReviewSpec)
out := out.(*TokenReviewSpec)
out.Token = in.Token
return nil
}
} }
func DeepCopy_v1beta1_TokenReviewStatus(in TokenReviewStatus, out *TokenReviewStatus, c *conversion.Cloner) error { func DeepCopy_v1beta1_TokenReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Authenticated = in.Authenticated {
if err := DeepCopy_v1beta1_UserInfo(in.User, &out.User, c); err != nil { in := in.(*TokenReviewStatus)
return err out := out.(*TokenReviewStatus)
out.Authenticated = in.Authenticated
if err := DeepCopy_v1beta1_UserInfo(&in.User, &out.User, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1beta1_UserInfo(in UserInfo, out *UserInfo, c *conversion.Cloner) error { func DeepCopy_v1beta1_UserInfo(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Username = in.Username {
out.UID = in.UID in := in.(*UserInfo)
if in.Groups != nil { out := out.(*UserInfo)
in, out := in.Groups, &out.Groups out.Username = in.Username
*out = make([]string, len(in)) out.UID = in.UID
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
} copy(*out, *in)
if in.Extra != nil { } else {
in, out := in.Extra, &out.Extra out.Groups = nil
*out = make(map[string][]string) }
for key, val := range in { if in.Extra != nil {
if newVal, err := c.DeepCopy(val); err != nil { in, out := &in.Extra, &out.Extra
return err *out = make(map[string][]string)
} else { for key, val := range *in {
(*out)[key] = newVal.([]string) if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*[]string)
}
} }
} else {
out.Extra = nil
} }
} else { return nil
out.Extra = nil
} }
return nil
} }
...@@ -23,127 +23,160 @@ package authorization ...@@ -23,127 +23,160 @@ package authorization
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_authorization_LocalSubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_LocalSubjectAccessReview, InType: reflect.TypeOf(func() *LocalSubjectAccessReview { var x *LocalSubjectAccessReview; return x }())},
DeepCopy_authorization_NonResourceAttributes, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_NonResourceAttributes, InType: reflect.TypeOf(func() *NonResourceAttributes { var x *NonResourceAttributes; return x }())},
DeepCopy_authorization_ResourceAttributes, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_ResourceAttributes, InType: reflect.TypeOf(func() *ResourceAttributes { var x *ResourceAttributes; return x }())},
DeepCopy_authorization_SelfSubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SelfSubjectAccessReview, InType: reflect.TypeOf(func() *SelfSubjectAccessReview { var x *SelfSubjectAccessReview; return x }())},
DeepCopy_authorization_SelfSubjectAccessReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(func() *SelfSubjectAccessReviewSpec { var x *SelfSubjectAccessReviewSpec; return x }())},
DeepCopy_authorization_SubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReview, InType: reflect.TypeOf(func() *SubjectAccessReview { var x *SubjectAccessReview; return x }())},
DeepCopy_authorization_SubjectAccessReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReviewSpec, InType: reflect.TypeOf(func() *SubjectAccessReviewSpec { var x *SubjectAccessReviewSpec; return x }())},
DeepCopy_authorization_SubjectAccessReviewStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_authorization_SubjectAccessReviewStatus, InType: reflect.TypeOf(func() *SubjectAccessReviewStatus { var x *SubjectAccessReviewStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_authorization_LocalSubjectAccessReview(in LocalSubjectAccessReview, out *LocalSubjectAccessReview, c *conversion.Cloner) error { func DeepCopy_authorization_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_authorization_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*LocalSubjectAccessReview)
return err out := out.(*LocalSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_authorization_NonResourceAttributes(in NonResourceAttributes, out *NonResourceAttributes, c *conversion.Cloner) error { func DeepCopy_authorization_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Path = in.Path {
out.Verb = in.Verb in := in.(*NonResourceAttributes)
return nil out := out.(*NonResourceAttributes)
out.Path = in.Path
out.Verb = in.Verb
return nil
}
} }
func DeepCopy_authorization_ResourceAttributes(in ResourceAttributes, out *ResourceAttributes, c *conversion.Cloner) error { func DeepCopy_authorization_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Namespace = in.Namespace {
out.Verb = in.Verb in := in.(*ResourceAttributes)
out.Group = in.Group out := out.(*ResourceAttributes)
out.Version = in.Version out.Namespace = in.Namespace
out.Resource = in.Resource out.Verb = in.Verb
out.Subresource = in.Subresource out.Group = in.Group
out.Name = in.Name out.Version = in.Version
return nil 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 { func DeepCopy_authorization_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_authorization_SelfSubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*SelfSubjectAccessReview)
return err out := out.(*SelfSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_authorization_SelfSubjectAccessReviewSpec(in SelfSubjectAccessReviewSpec, out *SelfSubjectAccessReviewSpec, c *conversion.Cloner) error { func DeepCopy_authorization_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ResourceAttributes != nil { {
in, out := in.ResourceAttributes, &out.ResourceAttributes in := in.(*SelfSubjectAccessReviewSpec)
*out = new(ResourceAttributes) out := out.(*SelfSubjectAccessReviewSpec)
**out = *in if in.ResourceAttributes != nil {
} else { in, out := &in.ResourceAttributes, &out.ResourceAttributes
out.ResourceAttributes = nil *out = new(ResourceAttributes)
} **out = **in
if in.NonResourceAttributes != nil { } else {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes out.ResourceAttributes = nil
*out = new(NonResourceAttributes) }
**out = *in if in.NonResourceAttributes != nil {
} else { in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
out.NonResourceAttributes = nil *out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
return nil
} }
return nil
} }
func DeepCopy_authorization_SubjectAccessReview(in SubjectAccessReview, out *SubjectAccessReview, c *conversion.Cloner) error { func DeepCopy_authorization_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_authorization_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*SubjectAccessReview)
return err out := out.(*SubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_authorization_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_authorization_SubjectAccessReviewSpec(in SubjectAccessReviewSpec, out *SubjectAccessReviewSpec, c *conversion.Cloner) error { func DeepCopy_authorization_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ResourceAttributes != nil { {
in, out := in.ResourceAttributes, &out.ResourceAttributes in := in.(*SubjectAccessReviewSpec)
*out = new(ResourceAttributes) out := out.(*SubjectAccessReviewSpec)
**out = *in if in.ResourceAttributes != nil {
} else { in, out := &in.ResourceAttributes, &out.ResourceAttributes
out.ResourceAttributes = nil *out = new(ResourceAttributes)
} **out = **in
if in.NonResourceAttributes != nil { } else {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes out.ResourceAttributes = nil
*out = new(NonResourceAttributes) }
**out = *in if in.NonResourceAttributes != nil {
} else { in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
out.NonResourceAttributes = nil *out = new(NonResourceAttributes)
} **out = **in
out.User = in.User } else {
if in.Groups != nil { out.NonResourceAttributes = nil
in, out := in.Groups, &out.Groups }
*out = make([]string, len(in)) out.User = in.User
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
} copy(*out, *in)
if in.Extra != nil { } else {
in, out := in.Extra, &out.Extra out.Groups = nil
*out = make(map[string][]string) }
for key, val := range in { if in.Extra != nil {
if newVal, err := c.DeepCopy(val); err != nil { in, out := &in.Extra, &out.Extra
return err *out = make(map[string][]string)
} else { for key, val := range *in {
(*out)[key] = newVal.([]string) if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*[]string)
}
} }
} else {
out.Extra = nil
} }
} else { return nil
out.Extra = nil
} }
return nil
} }
func DeepCopy_authorization_SubjectAccessReviewStatus(in SubjectAccessReviewStatus, out *SubjectAccessReviewStatus, c *conversion.Cloner) error { func DeepCopy_authorization_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Allowed = in.Allowed {
out.Reason = in.Reason in := in.(*SubjectAccessReviewStatus)
return nil out := out.(*SubjectAccessReviewStatus)
out.Allowed = in.Allowed
out.Reason = in.Reason
return nil
}
} }
...@@ -23,127 +23,160 @@ package v1beta1 ...@@ -23,127 +23,160 @@ package v1beta1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1beta1_LocalSubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_LocalSubjectAccessReview, InType: reflect.TypeOf(func() *LocalSubjectAccessReview { var x *LocalSubjectAccessReview; return x }())},
DeepCopy_v1beta1_NonResourceAttributes, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NonResourceAttributes, InType: reflect.TypeOf(func() *NonResourceAttributes { var x *NonResourceAttributes; return x }())},
DeepCopy_v1beta1_ResourceAttributes, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ResourceAttributes, InType: reflect.TypeOf(func() *ResourceAttributes { var x *ResourceAttributes; return x }())},
DeepCopy_v1beta1_SelfSubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReview, InType: reflect.TypeOf(func() *SelfSubjectAccessReview { var x *SelfSubjectAccessReview; return x }())},
DeepCopy_v1beta1_SelfSubjectAccessReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(func() *SelfSubjectAccessReviewSpec { var x *SelfSubjectAccessReviewSpec; return x }())},
DeepCopy_v1beta1_SubjectAccessReview, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReview, InType: reflect.TypeOf(func() *SubjectAccessReview { var x *SubjectAccessReview; return x }())},
DeepCopy_v1beta1_SubjectAccessReviewSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewSpec, InType: reflect.TypeOf(func() *SubjectAccessReviewSpec { var x *SubjectAccessReviewSpec; return x }())},
DeepCopy_v1beta1_SubjectAccessReviewStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewStatus, InType: reflect.TypeOf(func() *SubjectAccessReviewStatus { var x *SubjectAccessReviewStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1beta1_LocalSubjectAccessReview(in LocalSubjectAccessReview, out *LocalSubjectAccessReview, c *conversion.Cloner) error { func DeepCopy_v1beta1_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*LocalSubjectAccessReview)
return err out := out.(*LocalSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_v1beta1_NonResourceAttributes(in NonResourceAttributes, out *NonResourceAttributes, c *conversion.Cloner) error { func DeepCopy_v1beta1_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Path = in.Path {
out.Verb = in.Verb in := in.(*NonResourceAttributes)
return nil out := out.(*NonResourceAttributes)
out.Path = in.Path
out.Verb = in.Verb
return nil
}
} }
func DeepCopy_v1beta1_ResourceAttributes(in ResourceAttributes, out *ResourceAttributes, c *conversion.Cloner) error { func DeepCopy_v1beta1_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Namespace = in.Namespace {
out.Verb = in.Verb in := in.(*ResourceAttributes)
out.Group = in.Group out := out.(*ResourceAttributes)
out.Version = in.Version out.Namespace = in.Namespace
out.Resource = in.Resource out.Verb = in.Verb
out.Subresource = in.Subresource out.Group = in.Group
out.Name = in.Name out.Version = in.Version
return nil 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 { func DeepCopy_v1beta1_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*SelfSubjectAccessReview)
return err out := out.(*SelfSubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in SelfSubjectAccessReviewSpec, out *SelfSubjectAccessReviewSpec, c *conversion.Cloner) error { func DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ResourceAttributes != nil { {
in, out := in.ResourceAttributes, &out.ResourceAttributes in := in.(*SelfSubjectAccessReviewSpec)
*out = new(ResourceAttributes) out := out.(*SelfSubjectAccessReviewSpec)
**out = *in if in.ResourceAttributes != nil {
} else { in, out := &in.ResourceAttributes, &out.ResourceAttributes
out.ResourceAttributes = nil *out = new(ResourceAttributes)
} **out = **in
if in.NonResourceAttributes != nil { } else {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes out.ResourceAttributes = nil
*out = new(NonResourceAttributes) }
**out = *in if in.NonResourceAttributes != nil {
} else { in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
out.NonResourceAttributes = nil *out = new(NonResourceAttributes)
**out = **in
} else {
out.NonResourceAttributes = nil
}
return nil
} }
return nil
} }
func DeepCopy_v1beta1_SubjectAccessReview(in SubjectAccessReview, out *SubjectAccessReview, c *conversion.Cloner) error { func DeepCopy_v1beta1_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(in.Spec, &out.Spec, c); err != nil { in := in.(*SubjectAccessReview)
return err out := out.(*SubjectAccessReview)
out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_v1beta1_SubjectAccessReviewSpec(in SubjectAccessReviewSpec, out *SubjectAccessReviewSpec, c *conversion.Cloner) error { func DeepCopy_v1beta1_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ResourceAttributes != nil { {
in, out := in.ResourceAttributes, &out.ResourceAttributes in := in.(*SubjectAccessReviewSpec)
*out = new(ResourceAttributes) out := out.(*SubjectAccessReviewSpec)
**out = *in if in.ResourceAttributes != nil {
} else { in, out := &in.ResourceAttributes, &out.ResourceAttributes
out.ResourceAttributes = nil *out = new(ResourceAttributes)
} **out = **in
if in.NonResourceAttributes != nil { } else {
in, out := in.NonResourceAttributes, &out.NonResourceAttributes out.ResourceAttributes = nil
*out = new(NonResourceAttributes) }
**out = *in if in.NonResourceAttributes != nil {
} else { in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
out.NonResourceAttributes = nil *out = new(NonResourceAttributes)
} **out = **in
out.User = in.User } else {
if in.Groups != nil { out.NonResourceAttributes = nil
in, out := in.Groups, &out.Groups }
*out = make([]string, len(in)) out.User = in.User
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
} copy(*out, *in)
if in.Extra != nil { } else {
in, out := in.Extra, &out.Extra out.Groups = nil
*out = make(map[string][]string) }
for key, val := range in { if in.Extra != nil {
if newVal, err := c.DeepCopy(val); err != nil { in, out := &in.Extra, &out.Extra
return err *out = make(map[string][]string)
} else { for key, val := range *in {
(*out)[key] = newVal.([]string) if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*[]string)
}
} }
} else {
out.Extra = nil
} }
} else { return nil
out.Extra = nil
} }
return nil
} }
func DeepCopy_v1beta1_SubjectAccessReviewStatus(in SubjectAccessReviewStatus, out *SubjectAccessReviewStatus, c *conversion.Cloner) error { func DeepCopy_v1beta1_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Allowed = in.Allowed {
out.Reason = in.Reason in := in.(*SubjectAccessReviewStatus)
return nil out := out.(*SubjectAccessReviewStatus)
out.Allowed = in.Allowed
out.Reason = in.Reason
return nil
}
} }
...@@ -24,126 +24,159 @@ import ( ...@@ -24,126 +24,159 @@ import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_autoscaling_CrossVersionObjectReference, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_CrossVersionObjectReference, InType: reflect.TypeOf(func() *CrossVersionObjectReference { var x *CrossVersionObjectReference; return x }())},
DeepCopy_autoscaling_HorizontalPodAutoscaler, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscaler, InType: reflect.TypeOf(func() *HorizontalPodAutoscaler { var x *HorizontalPodAutoscaler; return x }())},
DeepCopy_autoscaling_HorizontalPodAutoscalerList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerList, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerList { var x *HorizontalPodAutoscalerList; return x }())},
DeepCopy_autoscaling_HorizontalPodAutoscalerSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerSpec, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerSpec { var x *HorizontalPodAutoscalerSpec; return x }())},
DeepCopy_autoscaling_HorizontalPodAutoscalerStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_HorizontalPodAutoscalerStatus, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerStatus { var x *HorizontalPodAutoscalerStatus; return x }())},
DeepCopy_autoscaling_Scale, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_Scale, InType: reflect.TypeOf(func() *Scale { var x *Scale; return x }())},
DeepCopy_autoscaling_ScaleSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_ScaleSpec, InType: reflect.TypeOf(func() *ScaleSpec { var x *ScaleSpec; return x }())},
DeepCopy_autoscaling_ScaleStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_autoscaling_ScaleStatus, InType: reflect.TypeOf(func() *ScaleStatus { var x *ScaleStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_autoscaling_CrossVersionObjectReference(in CrossVersionObjectReference, out *CrossVersionObjectReference, c *conversion.Cloner) error { func DeepCopy_autoscaling_CrossVersionObjectReference(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Kind = in.Kind {
out.Name = in.Name in := in.(*CrossVersionObjectReference)
out.APIVersion = in.APIVersion out := out.(*CrossVersionObjectReference)
return nil 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 { func DeepCopy_autoscaling_HorizontalPodAutoscaler(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*HorizontalPodAutoscaler)
return err out := out.(*HorizontalPodAutoscaler)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil { if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_autoscaling_HorizontalPodAutoscalerList(in HorizontalPodAutoscalerList, out *HorizontalPodAutoscalerList, c *conversion.Cloner) error { func DeepCopy_autoscaling_HorizontalPodAutoscalerList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*HorizontalPodAutoscalerList)
if in.Items != nil { out := out.(*HorizontalPodAutoscalerList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]HorizontalPodAutoscaler, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_autoscaling_HorizontalPodAutoscaler(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in HorizontalPodAutoscalerSpec, out *HorizontalPodAutoscalerSpec, c *conversion.Cloner) error { func DeepCopy_autoscaling_HorizontalPodAutoscalerSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.ScaleTargetRef = in.ScaleTargetRef {
if in.MinReplicas != nil { in := in.(*HorizontalPodAutoscalerSpec)
in, out := in.MinReplicas, &out.MinReplicas out := out.(*HorizontalPodAutoscalerSpec)
*out = new(int32) out.ScaleTargetRef = in.ScaleTargetRef
**out = *in if in.MinReplicas != nil {
} else { in, out := &in.MinReplicas, &out.MinReplicas
out.MinReplicas = nil *out = new(int32)
} **out = **in
out.MaxReplicas = in.MaxReplicas } else {
if in.TargetCPUUtilizationPercentage != nil { out.MinReplicas = nil
in, out := in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage }
*out = new(int32) out.MaxReplicas = in.MaxReplicas
**out = *in if in.TargetCPUUtilizationPercentage != nil {
} else { in, out := &in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
out.TargetCPUUtilizationPercentage = nil *out = new(int32)
**out = **in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
} }
return nil
} }
func DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in HorizontalPodAutoscalerStatus, out *HorizontalPodAutoscalerStatus, c *conversion.Cloner) error { func DeepCopy_autoscaling_HorizontalPodAutoscalerStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ObservedGeneration != nil { {
in, out := in.ObservedGeneration, &out.ObservedGeneration in := in.(*HorizontalPodAutoscalerStatus)
*out = new(int64) out := out.(*HorizontalPodAutoscalerStatus)
**out = *in if in.ObservedGeneration != nil {
} else { in, out := &in.ObservedGeneration, &out.ObservedGeneration
out.ObservedGeneration = nil *out = new(int64)
} **out = **in
if in.LastScaleTime != nil { } else {
in, out := in.LastScaleTime, &out.LastScaleTime out.ObservedGeneration = nil
*out = new(unversioned.Time) }
**out = in.DeepCopy() if in.LastScaleTime != nil {
} else { in, out := &in.LastScaleTime, &out.LastScaleTime
out.LastScaleTime = nil *out = new(unversioned.Time)
} **out = (*in).DeepCopy()
out.CurrentReplicas = in.CurrentReplicas } else {
out.DesiredReplicas = in.DesiredReplicas out.LastScaleTime = nil
if in.CurrentCPUUtilizationPercentage != nil { }
in, out := in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage out.CurrentReplicas = in.CurrentReplicas
*out = new(int32) out.DesiredReplicas = in.DesiredReplicas
**out = *in if in.CurrentCPUUtilizationPercentage != nil {
} else { in, out := &in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
out.CurrentCPUUtilizationPercentage = nil *out = new(int32)
**out = **in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
} }
return nil
} }
func DeepCopy_autoscaling_Scale(in Scale, out *Scale, c *conversion.Cloner) error { func DeepCopy_autoscaling_Scale(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*Scale)
return err 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
} }
out.Spec = in.Spec
out.Status = in.Status
return nil
} }
func DeepCopy_autoscaling_ScaleSpec(in ScaleSpec, out *ScaleSpec, c *conversion.Cloner) error { func DeepCopy_autoscaling_ScaleSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Replicas = in.Replicas {
return nil in := in.(*ScaleSpec)
out := out.(*ScaleSpec)
out.Replicas = in.Replicas
return nil
}
} }
func DeepCopy_autoscaling_ScaleStatus(in ScaleStatus, out *ScaleStatus, c *conversion.Cloner) error { func DeepCopy_autoscaling_ScaleStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Replicas = in.Replicas {
out.Selector = in.Selector in := in.(*ScaleStatus)
return nil out := out.(*ScaleStatus)
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}
} }
...@@ -25,126 +25,159 @@ import ( ...@@ -25,126 +25,159 @@ import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1_CrossVersionObjectReference, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_CrossVersionObjectReference, InType: reflect.TypeOf(func() *CrossVersionObjectReference { var x *CrossVersionObjectReference; return x }())},
DeepCopy_v1_HorizontalPodAutoscaler, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscaler, InType: reflect.TypeOf(func() *HorizontalPodAutoscaler { var x *HorizontalPodAutoscaler; return x }())},
DeepCopy_v1_HorizontalPodAutoscalerList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerList, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerList { var x *HorizontalPodAutoscalerList; return x }())},
DeepCopy_v1_HorizontalPodAutoscalerSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerSpec, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerSpec { var x *HorizontalPodAutoscalerSpec; return x }())},
DeepCopy_v1_HorizontalPodAutoscalerStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_HorizontalPodAutoscalerStatus, InType: reflect.TypeOf(func() *HorizontalPodAutoscalerStatus { var x *HorizontalPodAutoscalerStatus; return x }())},
DeepCopy_v1_Scale, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Scale, InType: reflect.TypeOf(func() *Scale { var x *Scale; return x }())},
DeepCopy_v1_ScaleSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ScaleSpec, InType: reflect.TypeOf(func() *ScaleSpec { var x *ScaleSpec; return x }())},
DeepCopy_v1_ScaleStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ScaleStatus, InType: reflect.TypeOf(func() *ScaleStatus { var x *ScaleStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1_CrossVersionObjectReference(in CrossVersionObjectReference, out *CrossVersionObjectReference, c *conversion.Cloner) error { func DeepCopy_v1_CrossVersionObjectReference(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Kind = in.Kind {
out.Name = in.Name in := in.(*CrossVersionObjectReference)
out.APIVersion = in.APIVersion out := out.(*CrossVersionObjectReference)
return nil 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 { func DeepCopy_v1_HorizontalPodAutoscaler(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api_v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*HorizontalPodAutoscaler)
return err out := out.(*HorizontalPodAutoscaler)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1_HorizontalPodAutoscalerSpec(in.Spec, &out.Spec, c); err != nil { if err := api_v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_v1_HorizontalPodAutoscalerStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_v1_HorizontalPodAutoscalerSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_v1_HorizontalPodAutoscalerStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1_HorizontalPodAutoscalerList(in HorizontalPodAutoscalerList, out *HorizontalPodAutoscalerList, c *conversion.Cloner) error { func DeepCopy_v1_HorizontalPodAutoscalerList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*HorizontalPodAutoscalerList)
if in.Items != nil { out := out.(*HorizontalPodAutoscalerList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]HorizontalPodAutoscaler, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_v1_HorizontalPodAutoscaler(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_v1_HorizontalPodAutoscalerSpec(in HorizontalPodAutoscalerSpec, out *HorizontalPodAutoscalerSpec, c *conversion.Cloner) error { func DeepCopy_v1_HorizontalPodAutoscalerSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.ScaleTargetRef = in.ScaleTargetRef {
if in.MinReplicas != nil { in := in.(*HorizontalPodAutoscalerSpec)
in, out := in.MinReplicas, &out.MinReplicas out := out.(*HorizontalPodAutoscalerSpec)
*out = new(int32) out.ScaleTargetRef = in.ScaleTargetRef
**out = *in if in.MinReplicas != nil {
} else { in, out := &in.MinReplicas, &out.MinReplicas
out.MinReplicas = nil *out = new(int32)
} **out = **in
out.MaxReplicas = in.MaxReplicas } else {
if in.TargetCPUUtilizationPercentage != nil { out.MinReplicas = nil
in, out := in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage }
*out = new(int32) out.MaxReplicas = in.MaxReplicas
**out = *in if in.TargetCPUUtilizationPercentage != nil {
} else { in, out := &in.TargetCPUUtilizationPercentage, &out.TargetCPUUtilizationPercentage
out.TargetCPUUtilizationPercentage = nil *out = new(int32)
**out = **in
} else {
out.TargetCPUUtilizationPercentage = nil
}
return nil
} }
return nil
} }
func DeepCopy_v1_HorizontalPodAutoscalerStatus(in HorizontalPodAutoscalerStatus, out *HorizontalPodAutoscalerStatus, c *conversion.Cloner) error { func DeepCopy_v1_HorizontalPodAutoscalerStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.ObservedGeneration != nil { {
in, out := in.ObservedGeneration, &out.ObservedGeneration in := in.(*HorizontalPodAutoscalerStatus)
*out = new(int64) out := out.(*HorizontalPodAutoscalerStatus)
**out = *in if in.ObservedGeneration != nil {
} else { in, out := &in.ObservedGeneration, &out.ObservedGeneration
out.ObservedGeneration = nil *out = new(int64)
} **out = **in
if in.LastScaleTime != nil { } else {
in, out := in.LastScaleTime, &out.LastScaleTime out.ObservedGeneration = nil
*out = new(unversioned.Time) }
**out = in.DeepCopy() if in.LastScaleTime != nil {
} else { in, out := &in.LastScaleTime, &out.LastScaleTime
out.LastScaleTime = nil *out = new(unversioned.Time)
} **out = (*in).DeepCopy()
out.CurrentReplicas = in.CurrentReplicas } else {
out.DesiredReplicas = in.DesiredReplicas out.LastScaleTime = nil
if in.CurrentCPUUtilizationPercentage != nil { }
in, out := in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage out.CurrentReplicas = in.CurrentReplicas
*out = new(int32) out.DesiredReplicas = in.DesiredReplicas
**out = *in if in.CurrentCPUUtilizationPercentage != nil {
} else { in, out := &in.CurrentCPUUtilizationPercentage, &out.CurrentCPUUtilizationPercentage
out.CurrentCPUUtilizationPercentage = nil *out = new(int32)
**out = **in
} else {
out.CurrentCPUUtilizationPercentage = nil
}
return nil
} }
return nil
} }
func DeepCopy_v1_Scale(in Scale, out *Scale, c *conversion.Cloner) error { func DeepCopy_v1_Scale(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api_v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*Scale)
return err 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
} }
out.Spec = in.Spec
out.Status = in.Status
return nil
} }
func DeepCopy_v1_ScaleSpec(in ScaleSpec, out *ScaleSpec, c *conversion.Cloner) error { func DeepCopy_v1_ScaleSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Replicas = in.Replicas {
return nil in := in.(*ScaleSpec)
out := out.(*ScaleSpec)
out.Replicas = in.Replicas
return nil
}
} }
func DeepCopy_v1_ScaleStatus(in ScaleStatus, out *ScaleStatus, c *conversion.Cloner) error { func DeepCopy_v1_ScaleStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Replicas = in.Replicas {
out.Selector = in.Selector in := in.(*ScaleStatus)
return nil out := out.(*ScaleStatus)
out.Replicas = in.Replicas
out.Selector = in.Selector
return nil
}
} }
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.autoscaling.v1; ...@@ -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/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v1; ...@@ -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/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v2alpha1; ...@@ -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/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -23,98 +23,119 @@ package certificates ...@@ -23,98 +23,119 @@ package certificates
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_certificates_CertificateSigningRequest, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_certificates_CertificateSigningRequest, InType: reflect.TypeOf(func() *CertificateSigningRequest { var x *CertificateSigningRequest; return x }())},
DeepCopy_certificates_CertificateSigningRequestCondition, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_certificates_CertificateSigningRequestCondition, InType: reflect.TypeOf(func() *CertificateSigningRequestCondition { var x *CertificateSigningRequestCondition; return x }())},
DeepCopy_certificates_CertificateSigningRequestList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_certificates_CertificateSigningRequestList, InType: reflect.TypeOf(func() *CertificateSigningRequestList { var x *CertificateSigningRequestList; return x }())},
DeepCopy_certificates_CertificateSigningRequestSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_certificates_CertificateSigningRequestSpec, InType: reflect.TypeOf(func() *CertificateSigningRequestSpec { var x *CertificateSigningRequestSpec; return x }())},
DeepCopy_certificates_CertificateSigningRequestStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_certificates_CertificateSigningRequestStatus, InType: reflect.TypeOf(func() *CertificateSigningRequestStatus { var x *CertificateSigningRequestStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_certificates_CertificateSigningRequest(in CertificateSigningRequest, out *CertificateSigningRequest, c *conversion.Cloner) error { func DeepCopy_certificates_CertificateSigningRequest(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*CertificateSigningRequest)
return err out := out.(*CertificateSigningRequest)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_certificates_CertificateSigningRequestSpec(in.Spec, &out.Spec, c); err != nil { if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_certificates_CertificateSigningRequestStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_certificates_CertificateSigningRequestSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_certificates_CertificateSigningRequestStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_certificates_CertificateSigningRequestCondition(in CertificateSigningRequestCondition, out *CertificateSigningRequestCondition, c *conversion.Cloner) error { func DeepCopy_certificates_CertificateSigningRequestCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Type = in.Type {
out.Reason = in.Reason in := in.(*CertificateSigningRequestCondition)
out.Message = in.Message out := out.(*CertificateSigningRequestCondition)
out.LastUpdateTime = in.LastUpdateTime.DeepCopy() out.Type = in.Type
return nil 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 { func DeepCopy_certificates_CertificateSigningRequestList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*CertificateSigningRequestList)
if in.Items != nil { out := out.(*CertificateSigningRequestList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]CertificateSigningRequest, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_certificates_CertificateSigningRequest(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_certificates_CertificateSigningRequestSpec(in CertificateSigningRequestSpec, out *CertificateSigningRequestSpec, c *conversion.Cloner) error { func DeepCopy_certificates_CertificateSigningRequestSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Request != nil { {
in, out := in.Request, &out.Request in := in.(*CertificateSigningRequestSpec)
*out = make([]byte, len(in)) out := out.(*CertificateSigningRequestSpec)
copy(*out, in) if in.Request != nil {
} else { in, out := &in.Request, &out.Request
out.Request = nil *out = make([]byte, len(*in))
} copy(*out, *in)
out.Username = in.Username } else {
out.UID = in.UID out.Request = nil
if in.Groups != nil { }
in, out := in.Groups, &out.Groups out.Username = in.Username
*out = make([]string, len(in)) out.UID = in.UID
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
return nil
} }
return nil
} }
func DeepCopy_certificates_CertificateSigningRequestStatus(in CertificateSigningRequestStatus, out *CertificateSigningRequestStatus, c *conversion.Cloner) error { func DeepCopy_certificates_CertificateSigningRequestStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Conditions != nil { {
in, out := in.Conditions, &out.Conditions in := in.(*CertificateSigningRequestStatus)
*out = make([]CertificateSigningRequestCondition, len(in)) out := out.(*CertificateSigningRequestStatus)
for i := range in { if in.Conditions != nil {
if err := DeepCopy_certificates_CertificateSigningRequestCondition(in[i], &(*out)[i], c); err != nil { in, out := &in.Conditions, &out.Conditions
return err *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
} }
} else { if in.Certificate != nil {
out.Conditions = nil in, out := &in.Certificate, &out.Certificate
} *out = make([]byte, len(*in))
if in.Certificate != nil { copy(*out, *in)
in, out := in.Certificate, &out.Certificate } else {
*out = make([]byte, len(in)) out.Certificate = nil
copy(*out, in) }
} else { return nil
out.Certificate = nil
} }
return nil
} }
...@@ -24,98 +24,119 @@ import ( ...@@ -24,98 +24,119 @@ import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_CertificateSigningRequest, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_CertificateSigningRequest, InType: reflect.TypeOf(func() *CertificateSigningRequest { var x *CertificateSigningRequest; return x }())},
DeepCopy_v1alpha1_CertificateSigningRequestCondition, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_CertificateSigningRequestCondition, InType: reflect.TypeOf(func() *CertificateSigningRequestCondition { var x *CertificateSigningRequestCondition; return x }())},
DeepCopy_v1alpha1_CertificateSigningRequestList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_CertificateSigningRequestList, InType: reflect.TypeOf(func() *CertificateSigningRequestList { var x *CertificateSigningRequestList; return x }())},
DeepCopy_v1alpha1_CertificateSigningRequestSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_CertificateSigningRequestSpec, InType: reflect.TypeOf(func() *CertificateSigningRequestSpec { var x *CertificateSigningRequestSpec; return x }())},
DeepCopy_v1alpha1_CertificateSigningRequestStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_CertificateSigningRequestStatus, InType: reflect.TypeOf(func() *CertificateSigningRequestStatus { var x *CertificateSigningRequestStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1alpha1_CertificateSigningRequest(in CertificateSigningRequest, out *CertificateSigningRequest, c *conversion.Cloner) error { func DeepCopy_v1alpha1_CertificateSigningRequest(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*CertificateSigningRequest)
return err out := out.(*CertificateSigningRequest)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1alpha1_CertificateSigningRequestSpec(in.Spec, &out.Spec, c); err != nil { if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
} }
if err := DeepCopy_v1alpha1_CertificateSigningRequestStatus(in.Status, &out.Status, c); err != nil { if err := DeepCopy_v1alpha1_CertificateSigningRequestSpec(&in.Spec, &out.Spec, c); err != nil {
return err return err
}
if err := DeepCopy_v1alpha1_CertificateSigningRequestStatus(&in.Status, &out.Status, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1alpha1_CertificateSigningRequestCondition(in CertificateSigningRequestCondition, out *CertificateSigningRequestCondition, c *conversion.Cloner) error { func DeepCopy_v1alpha1_CertificateSigningRequestCondition(in interface{}, out interface{}, c *conversion.Cloner) error {
out.Type = in.Type {
out.Reason = in.Reason in := in.(*CertificateSigningRequestCondition)
out.Message = in.Message out := out.(*CertificateSigningRequestCondition)
out.LastUpdateTime = in.LastUpdateTime.DeepCopy() out.Type = in.Type
return nil 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 { func DeepCopy_v1alpha1_CertificateSigningRequestList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*CertificateSigningRequestList)
if in.Items != nil { out := out.(*CertificateSigningRequestList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]CertificateSigningRequest, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_v1alpha1_CertificateSigningRequest(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *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
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_v1alpha1_CertificateSigningRequestSpec(in CertificateSigningRequestSpec, out *CertificateSigningRequestSpec, c *conversion.Cloner) error { func DeepCopy_v1alpha1_CertificateSigningRequestSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Request != nil { {
in, out := in.Request, &out.Request in := in.(*CertificateSigningRequestSpec)
*out = make([]byte, len(in)) out := out.(*CertificateSigningRequestSpec)
copy(*out, in) if in.Request != nil {
} else { in, out := &in.Request, &out.Request
out.Request = nil *out = make([]byte, len(*in))
} copy(*out, *in)
out.Username = in.Username } else {
out.UID = in.UID out.Request = nil
if in.Groups != nil { }
in, out := in.Groups, &out.Groups out.Username = in.Username
*out = make([]string, len(in)) out.UID = in.UID
copy(*out, in) if in.Groups != nil {
} else { in, out := &in.Groups, &out.Groups
out.Groups = nil *out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Groups = nil
}
return nil
} }
return nil
} }
func DeepCopy_v1alpha1_CertificateSigningRequestStatus(in CertificateSigningRequestStatus, out *CertificateSigningRequestStatus, c *conversion.Cloner) error { func DeepCopy_v1alpha1_CertificateSigningRequestStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Conditions != nil { {
in, out := in.Conditions, &out.Conditions in := in.(*CertificateSigningRequestStatus)
*out = make([]CertificateSigningRequestCondition, len(in)) out := out.(*CertificateSigningRequestStatus)
for i := range in { if in.Conditions != nil {
if err := DeepCopy_v1alpha1_CertificateSigningRequestCondition(in[i], &(*out)[i], c); err != nil { in, out := &in.Conditions, &out.Conditions
return err *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
} }
} else { if in.Certificate != nil {
out.Conditions = nil in, out := &in.Certificate, &out.Certificate
} *out = make([]byte, len(*in))
if in.Certificate != nil { copy(*out, *in)
in, out := in.Certificate, &out.Certificate } else {
*out = make([]byte, len(in)) out.Certificate = nil
copy(*out, in) }
} else { return nil
out.Certificate = nil
} }
return nil
} }
...@@ -24,6 +24,7 @@ package k8s.io.kubernetes.pkg.apis.certificates.v1alpha1; ...@@ -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/resource/generated.proto";
import "k8s.io/kubernetes/pkg/api/unversioned/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/api/v1/generated.proto";
import "k8s.io/kubernetes/pkg/runtime/generated.proto";
import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
......
...@@ -23,88 +23,101 @@ package v1alpha1 ...@@ -23,88 +23,101 @@ package v1alpha1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_KubeProxyConfiguration, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_KubeProxyConfiguration, InType: reflect.TypeOf(func() *KubeProxyConfiguration { var x *KubeProxyConfiguration; return x }())},
DeepCopy_v1alpha1_KubeSchedulerConfiguration, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_KubeSchedulerConfiguration, InType: reflect.TypeOf(func() *KubeSchedulerConfiguration { var x *KubeSchedulerConfiguration; return x }())},
DeepCopy_v1alpha1_LeaderElectionConfiguration, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_LeaderElectionConfiguration, InType: reflect.TypeOf(func() *LeaderElectionConfiguration { var x *LeaderElectionConfiguration; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1alpha1_KubeProxyConfiguration(in KubeProxyConfiguration, out *KubeProxyConfiguration, c *conversion.Cloner) error { func DeepCopy_v1alpha1_KubeProxyConfiguration(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.BindAddress = in.BindAddress in := in.(*KubeProxyConfiguration)
out.ClusterCIDR = in.ClusterCIDR out := out.(*KubeProxyConfiguration)
out.HealthzBindAddress = in.HealthzBindAddress out.TypeMeta = in.TypeMeta
out.HealthzPort = in.HealthzPort out.BindAddress = in.BindAddress
out.HostnameOverride = in.HostnameOverride out.ClusterCIDR = in.ClusterCIDR
if in.IPTablesMasqueradeBit != nil { out.HealthzBindAddress = in.HealthzBindAddress
in, out := in.IPTablesMasqueradeBit, &out.IPTablesMasqueradeBit out.HealthzPort = in.HealthzPort
*out = new(int32) out.HostnameOverride = in.HostnameOverride
**out = *in if in.IPTablesMasqueradeBit != nil {
} else { in, out := &in.IPTablesMasqueradeBit, &out.IPTablesMasqueradeBit
out.IPTablesMasqueradeBit = nil *out = new(int32)
**out = **in
} else {
out.IPTablesMasqueradeBit = nil
}
out.IPTablesSyncPeriod = in.IPTablesSyncPeriod
out.KubeconfigPath = in.KubeconfigPath
out.MasqueradeAll = in.MasqueradeAll
out.Master = in.Master
if in.OOMScoreAdj != nil {
in, out := &in.OOMScoreAdj, &out.OOMScoreAdj
*out = new(int32)
**out = **in
} else {
out.OOMScoreAdj = nil
}
out.Mode = in.Mode
out.PortRange = in.PortRange
out.ResourceContainer = in.ResourceContainer
out.UDPIdleTimeout = in.UDPIdleTimeout
out.ConntrackMax = in.ConntrackMax
out.ConntrackTCPEstablishedTimeout = in.ConntrackTCPEstablishedTimeout
return nil
} }
out.IPTablesSyncPeriod = in.IPTablesSyncPeriod
out.KubeconfigPath = in.KubeconfigPath
out.MasqueradeAll = in.MasqueradeAll
out.Master = in.Master
if in.OOMScoreAdj != nil {
in, out := in.OOMScoreAdj, &out.OOMScoreAdj
*out = new(int32)
**out = *in
} else {
out.OOMScoreAdj = nil
}
out.Mode = in.Mode
out.PortRange = in.PortRange
out.ResourceContainer = in.ResourceContainer
out.UDPIdleTimeout = in.UDPIdleTimeout
out.ConntrackMax = in.ConntrackMax
out.ConntrackTCPEstablishedTimeout = in.ConntrackTCPEstablishedTimeout
return nil
} }
func DeepCopy_v1alpha1_KubeSchedulerConfiguration(in KubeSchedulerConfiguration, out *KubeSchedulerConfiguration, c *conversion.Cloner) error { func DeepCopy_v1alpha1_KubeSchedulerConfiguration(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.Port = in.Port in := in.(*KubeSchedulerConfiguration)
out.Address = in.Address out := out.(*KubeSchedulerConfiguration)
out.AlgorithmProvider = in.AlgorithmProvider out.TypeMeta = in.TypeMeta
out.PolicyConfigFile = in.PolicyConfigFile out.Port = in.Port
if in.EnableProfiling != nil { out.Address = in.Address
in, out := in.EnableProfiling, &out.EnableProfiling out.AlgorithmProvider = in.AlgorithmProvider
*out = new(bool) out.PolicyConfigFile = in.PolicyConfigFile
**out = *in if in.EnableProfiling != nil {
} else { in, out := &in.EnableProfiling, &out.EnableProfiling
out.EnableProfiling = nil *out = new(bool)
} **out = **in
out.ContentType = in.ContentType } else {
out.KubeAPIQPS = in.KubeAPIQPS out.EnableProfiling = nil
out.KubeAPIBurst = in.KubeAPIBurst }
out.SchedulerName = in.SchedulerName out.ContentType = in.ContentType
out.HardPodAffinitySymmetricWeight = in.HardPodAffinitySymmetricWeight out.KubeAPIQPS = in.KubeAPIQPS
out.FailureDomains = in.FailureDomains out.KubeAPIBurst = in.KubeAPIBurst
if err := DeepCopy_v1alpha1_LeaderElectionConfiguration(in.LeaderElection, &out.LeaderElection, c); err != nil { out.SchedulerName = in.SchedulerName
return err out.HardPodAffinitySymmetricWeight = in.HardPodAffinitySymmetricWeight
out.FailureDomains = in.FailureDomains
if err := DeepCopy_v1alpha1_LeaderElectionConfiguration(&in.LeaderElection, &out.LeaderElection, c); err != nil {
return err
}
return nil
} }
return nil
} }
func DeepCopy_v1alpha1_LeaderElectionConfiguration(in LeaderElectionConfiguration, out *LeaderElectionConfiguration, c *conversion.Cloner) error { func DeepCopy_v1alpha1_LeaderElectionConfiguration(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.LeaderElect != nil { {
in, out := in.LeaderElect, &out.LeaderElect in := in.(*LeaderElectionConfiguration)
*out = new(bool) out := out.(*LeaderElectionConfiguration)
**out = *in if in.LeaderElect != nil {
} else { in, out := &in.LeaderElect, &out.LeaderElect
out.LeaderElect = nil *out = new(bool)
**out = **in
} else {
out.LeaderElect = nil
}
out.LeaseDuration = in.LeaseDuration
out.RenewDeadline = in.RenewDeadline
out.RetryPeriod = in.RetryPeriod
return nil
} }
out.LeaseDuration = in.LeaseDuration
out.RenewDeadline = in.RenewDeadline
out.RetryPeriod = in.RetryPeriod
return nil
} }
...@@ -24,67 +24,84 @@ import ( ...@@ -24,67 +24,84 @@ import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_policy_PodDisruptionBudget, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_policy_PodDisruptionBudget, InType: reflect.TypeOf(func() *PodDisruptionBudget { var x *PodDisruptionBudget; return x }())},
DeepCopy_policy_PodDisruptionBudgetList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_policy_PodDisruptionBudgetList, InType: reflect.TypeOf(func() *PodDisruptionBudgetList { var x *PodDisruptionBudgetList; return x }())},
DeepCopy_policy_PodDisruptionBudgetSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_policy_PodDisruptionBudgetSpec, InType: reflect.TypeOf(func() *PodDisruptionBudgetSpec { var x *PodDisruptionBudgetSpec; return x }())},
DeepCopy_policy_PodDisruptionBudgetStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_policy_PodDisruptionBudgetStatus, InType: reflect.TypeOf(func() *PodDisruptionBudgetStatus { var x *PodDisruptionBudgetStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_policy_PodDisruptionBudget(in PodDisruptionBudget, out *PodDisruptionBudget, c *conversion.Cloner) error { func DeepCopy_policy_PodDisruptionBudget(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := api.DeepCopy_api_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*PodDisruptionBudget)
return err out := out.(*PodDisruptionBudget)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_policy_PodDisruptionBudgetSpec(in.Spec, &out.Spec, c); err != nil { if err := api.DeepCopy_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
}
if err := DeepCopy_policy_PodDisruptionBudgetSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_policy_PodDisruptionBudgetList(in PodDisruptionBudgetList, out *PodDisruptionBudgetList, c *conversion.Cloner) error { func DeepCopy_policy_PodDisruptionBudgetList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*PodDisruptionBudgetList)
if in.Items != nil { out := out.(*PodDisruptionBudgetList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]PodDisruptionBudget, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_policy_PodDisruptionBudget(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *out = make([]PodDisruptionBudget, len(*in))
for i := range *in {
if err := DeepCopy_policy_PodDisruptionBudget(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Items = nil
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_policy_PodDisruptionBudgetSpec(in PodDisruptionBudgetSpec, out *PodDisruptionBudgetSpec, c *conversion.Cloner) error { func DeepCopy_policy_PodDisruptionBudgetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.MinAvailable = in.MinAvailable {
if in.Selector != nil { in := in.(*PodDisruptionBudgetSpec)
in, out := in.Selector, &out.Selector out := out.(*PodDisruptionBudgetSpec)
*out = new(unversioned.LabelSelector) out.MinAvailable = in.MinAvailable
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil { if in.Selector != nil {
return err 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
} }
} else { return nil
out.Selector = nil
} }
return nil
} }
func DeepCopy_policy_PodDisruptionBudgetStatus(in PodDisruptionBudgetStatus, out *PodDisruptionBudgetStatus, c *conversion.Cloner) error { func DeepCopy_policy_PodDisruptionBudgetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.PodDisruptionAllowed = in.PodDisruptionAllowed {
out.CurrentHealthy = in.CurrentHealthy in := in.(*PodDisruptionBudgetStatus)
out.DesiredHealthy = in.DesiredHealthy out := out.(*PodDisruptionBudgetStatus)
out.ExpectedPods = in.ExpectedPods out.PodDisruptionAllowed = in.PodDisruptionAllowed
return nil out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
return nil
}
} }
...@@ -25,67 +25,84 @@ import ( ...@@ -25,67 +25,84 @@ import (
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
reflect "reflect"
) )
func init() { func init() {
if err := api.Scheme.AddGeneratedDeepCopyFuncs( if err := api.Scheme.AddGeneratedDeepCopyFuncs(
DeepCopy_v1alpha1_PodDisruptionBudget, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PodDisruptionBudget, InType: reflect.TypeOf(func() *PodDisruptionBudget { var x *PodDisruptionBudget; return x }())},
DeepCopy_v1alpha1_PodDisruptionBudgetList, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PodDisruptionBudgetList, InType: reflect.TypeOf(func() *PodDisruptionBudgetList { var x *PodDisruptionBudgetList; return x }())},
DeepCopy_v1alpha1_PodDisruptionBudgetSpec, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PodDisruptionBudgetSpec, InType: reflect.TypeOf(func() *PodDisruptionBudgetSpec { var x *PodDisruptionBudgetSpec; return x }())},
DeepCopy_v1alpha1_PodDisruptionBudgetStatus, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1alpha1_PodDisruptionBudgetStatus, InType: reflect.TypeOf(func() *PodDisruptionBudgetStatus { var x *PodDisruptionBudgetStatus; return x }())},
); err != nil { ); err != nil {
// if one of the deep copy functions is malformed, detect it immediately. // if one of the deep copy functions is malformed, detect it immediately.
panic(err) panic(err)
} }
} }
func DeepCopy_v1alpha1_PodDisruptionBudget(in PodDisruptionBudget, out *PodDisruptionBudget, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PodDisruptionBudget(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if err := v1.DeepCopy_v1_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { in := in.(*PodDisruptionBudget)
return err out := out.(*PodDisruptionBudget)
} out.TypeMeta = in.TypeMeta
if err := DeepCopy_v1alpha1_PodDisruptionBudgetSpec(in.Spec, &out.Spec, c); err != nil { if err := v1.DeepCopy_v1_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, c); err != nil {
return err return err
}
if err := DeepCopy_v1alpha1_PodDisruptionBudgetSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
out.Status = in.Status
return nil
} }
out.Status = in.Status
return nil
} }
func DeepCopy_v1alpha1_PodDisruptionBudgetList(in PodDisruptionBudgetList, out *PodDisruptionBudgetList, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PodDisruptionBudgetList(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
out.ListMeta = in.ListMeta in := in.(*PodDisruptionBudgetList)
if in.Items != nil { out := out.(*PodDisruptionBudgetList)
in, out := in.Items, &out.Items out.TypeMeta = in.TypeMeta
*out = make([]PodDisruptionBudget, len(in)) out.ListMeta = in.ListMeta
for i := range in { if in.Items != nil {
if err := DeepCopy_v1alpha1_PodDisruptionBudget(in[i], &(*out)[i], c); err != nil { in, out := &in.Items, &out.Items
return err *out = make([]PodDisruptionBudget, len(*in))
for i := range *in {
if err := DeepCopy_v1alpha1_PodDisruptionBudget(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
} }
} else {
out.Items = nil
} }
} else { return nil
out.Items = nil
} }
return nil
} }
func DeepCopy_v1alpha1_PodDisruptionBudgetSpec(in PodDisruptionBudgetSpec, out *PodDisruptionBudgetSpec, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PodDisruptionBudgetSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
out.MinAvailable = in.MinAvailable {
if in.Selector != nil { in := in.(*PodDisruptionBudgetSpec)
in, out := in.Selector, &out.Selector out := out.(*PodDisruptionBudgetSpec)
*out = new(unversioned.LabelSelector) out.MinAvailable = in.MinAvailable
if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil { if in.Selector != nil {
return err 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
} }
} else { return nil
out.Selector = nil
} }
return nil
} }
func DeepCopy_v1alpha1_PodDisruptionBudgetStatus(in PodDisruptionBudgetStatus, out *PodDisruptionBudgetStatus, c *conversion.Cloner) error { func DeepCopy_v1alpha1_PodDisruptionBudgetStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
out.PodDisruptionAllowed = in.PodDisruptionAllowed {
out.CurrentHealthy = in.CurrentHealthy in := in.(*PodDisruptionBudgetStatus)
out.DesiredHealthy = in.DesiredHealthy out := out.(*PodDisruptionBudgetStatus)
out.ExpectedPods = in.ExpectedPods out.PodDisruptionAllowed = in.PodDisruptionAllowed
return nil out.CurrentHealthy = in.CurrentHealthy
out.DesiredHealthy = in.DesiredHealthy
out.ExpectedPods = in.ExpectedPods
return nil
}
} }
...@@ -25,14 +25,14 @@ import ( ...@@ -25,14 +25,14 @@ import (
type Cloner struct { type Cloner struct {
// Map from the type to a function which can do the deep copy. // Map from the type to a function which can do the deep copy.
deepCopyFuncs map[reflect.Type]reflect.Value deepCopyFuncs map[reflect.Type]reflect.Value
generatedDeepCopyFuncs map[reflect.Type]reflect.Value generatedDeepCopyFuncs map[reflect.Type]func(in interface{}, out interface{}, c *Cloner) error
} }
// NewCloner creates a new Cloner object. // NewCloner creates a new Cloner object.
func NewCloner() *Cloner { func NewCloner() *Cloner {
c := &Cloner{ c := &Cloner{
deepCopyFuncs: map[reflect.Type]reflect.Value{}, deepCopyFuncs: map[reflect.Type]reflect.Value{},
generatedDeepCopyFuncs: map[reflect.Type]reflect.Value{}, generatedDeepCopyFuncs: map[reflect.Type]func(in interface{}, out interface{}, c *Cloner) error{},
} }
if err := c.RegisterDeepCopyFunc(byteSliceDeepCopy); err != nil { if err := c.RegisterDeepCopyFunc(byteSliceDeepCopy); err != nil {
// If one of the deep-copy functions is malformed, detect it immediately. // If one of the deep-copy functions is malformed, detect it immediately.
...@@ -42,10 +42,10 @@ func NewCloner() *Cloner { ...@@ -42,10 +42,10 @@ func NewCloner() *Cloner {
} }
// Prevent recursing into every byte... // Prevent recursing into every byte...
func byteSliceDeepCopy(in []byte, out *[]byte, c *Cloner) error { func byteSliceDeepCopy(in *[]byte, out *[]byte, c *Cloner) error {
if in != nil { if *in != nil {
*out = make([]byte, len(in)) *out = make([]byte, len(*in))
copy(*out, in) copy(*out, *in)
} else { } else {
*out = nil *out = nil
} }
...@@ -63,10 +63,10 @@ func verifyDeepCopyFunctionSignature(ft reflect.Type) error { ...@@ -63,10 +63,10 @@ func verifyDeepCopyFunctionSignature(ft reflect.Type) error {
if ft.NumOut() != 1 { if ft.NumOut() != 1 {
return fmt.Errorf("expected one 'out' param, got %v", ft) return fmt.Errorf("expected one 'out' param, got %v", ft)
} }
if ft.In(1).Kind() != reflect.Ptr { if ft.In(0).Kind() != reflect.Ptr {
return fmt.Errorf("expected pointer arg for 'in' param 1, got: %v", ft) return fmt.Errorf("expected pointer arg for 'in' param 0, got: %v", ft)
} }
if ft.In(1).Elem() != ft.In(0) { if ft.In(1) != ft.In(0) {
return fmt.Errorf("expected 'in' param 0 the same as param 1, got: %v", ft) return fmt.Errorf("expected 'in' param 0 the same as param 1, got: %v", ft)
} }
var forClonerType Cloner var forClonerType Cloner
...@@ -103,15 +103,17 @@ func (c *Cloner) RegisterDeepCopyFunc(deepCopyFunc interface{}) error { ...@@ -103,15 +103,17 @@ func (c *Cloner) RegisterDeepCopyFunc(deepCopyFunc interface{}) error {
return nil return nil
} }
// GeneratedDeepCopyFunc bundles an untyped generated deep-copy function of a type
// with a reflection type object used as a key to lookup the deep-copy function.
type GeneratedDeepCopyFunc struct {
Fn func(in interface{}, out interface{}, c *Cloner) error
InType reflect.Type
}
// Similar to RegisterDeepCopyFunc, but registers deep copy function that were // Similar to RegisterDeepCopyFunc, but registers deep copy function that were
// automatically generated. // automatically generated.
func (c *Cloner) RegisterGeneratedDeepCopyFunc(deepCopyFunc interface{}) error { func (c *Cloner) RegisterGeneratedDeepCopyFunc(fn GeneratedDeepCopyFunc) error {
fv := reflect.ValueOf(deepCopyFunc) c.generatedDeepCopyFuncs[fn.InType] = fn.Fn
ft := fv.Type()
if err := verifyDeepCopyFunctionSignature(ft); err != nil {
return err
}
c.generatedDeepCopyFuncs[ft.In(0)] = fv
return nil return nil
} }
...@@ -135,25 +137,35 @@ func (c *Cloner) DeepCopy(in interface{}) (interface{}, error) { ...@@ -135,25 +137,35 @@ func (c *Cloner) DeepCopy(in interface{}) (interface{}, error) {
func (c *Cloner) deepCopy(src reflect.Value) (reflect.Value, error) { func (c *Cloner) deepCopy(src reflect.Value) (reflect.Value, error) {
inType := src.Type() inType := src.Type()
switch src.Kind() {
case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice:
if src.IsNil() {
return src, nil
}
}
if fv, ok := c.deepCopyFuncs[inType]; ok { if fv, ok := c.deepCopyFuncs[inType]; ok {
return c.customDeepCopy(src, fv) return c.customDeepCopy(src, fv)
} }
if fv, ok := c.generatedDeepCopyFuncs[inType]; ok { if fv, ok := c.generatedDeepCopyFuncs[inType]; ok {
return c.customDeepCopy(src, fv) var outValue reflect.Value
outValue = reflect.New(inType.Elem())
err := fv(src.Interface(), outValue.Interface(), c)
return outValue, err
} }
return c.defaultDeepCopy(src) return c.defaultDeepCopy(src)
} }
func (c *Cloner) customDeepCopy(src, fv reflect.Value) (reflect.Value, error) { func (c *Cloner) customDeepCopy(src, fv reflect.Value) (reflect.Value, error) {
outValue := reflect.New(src.Type()) outValue := reflect.New(src.Type().Elem())
args := []reflect.Value{src, outValue, reflect.ValueOf(c)} args := []reflect.Value{src, outValue, reflect.ValueOf(c)}
result := fv.Call(args)[0].Interface() result := fv.Call(args)[0].Interface()
// This convolution is necessary because nil interfaces won't convert // This convolution is necessary because nil interfaces won't convert
// to error. // to error.
if result == nil { if result == nil {
return outValue.Elem(), nil return outValue, nil
} }
return outValue.Elem(), result.(error) return outValue, result.(error)
} }
func (c *Cloner) defaultDeepCopy(src reflect.Value) (reflect.Value, error) { func (c *Cloner) defaultDeepCopy(src reflect.Value) (reflect.Value, error) {
......
...@@ -24,40 +24,52 @@ import ( ...@@ -24,40 +24,52 @@ import (
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
) )
func DeepCopy_runtime_RawExtension(in RawExtension, out *RawExtension, c *conversion.Cloner) error { func DeepCopy_runtime_RawExtension(in interface{}, out interface{}, c *conversion.Cloner) error {
if in.Raw != nil { {
in, out := in.Raw, &out.Raw in := in.(*RawExtension)
*out = make([]byte, len(in)) out := out.(*RawExtension)
copy(*out, in) if in.Raw != nil {
} else { in, out := &in.Raw, &out.Raw
out.Raw = nil *out = make([]byte, len(*in))
copy(*out, *in)
} else {
out.Raw = nil
}
if in.Object == nil {
out.Object = nil
} else if newVal, err := c.DeepCopy(&in.Object); err != nil {
return err
} else {
out.Object = *newVal.(*Object)
}
return nil
} }
if in.Object == nil {
out.Object = nil
} else if newVal, err := c.DeepCopy(in.Object); err != nil {
return err
} else {
out.Object = newVal.(Object)
}
return nil
} }
func DeepCopy_runtime_TypeMeta(in TypeMeta, out *TypeMeta, c *conversion.Cloner) error { func DeepCopy_runtime_TypeMeta(in interface{}, out interface{}, c *conversion.Cloner) error {
out.APIVersion = in.APIVersion {
out.Kind = in.Kind in := in.(*TypeMeta)
return nil out := out.(*TypeMeta)
out.APIVersion = in.APIVersion
out.Kind = in.Kind
return nil
}
} }
func DeepCopy_runtime_Unknown(in Unknown, out *Unknown, c *conversion.Cloner) error { func DeepCopy_runtime_Unknown(in interface{}, out interface{}, c *conversion.Cloner) error {
out.TypeMeta = in.TypeMeta {
if in.Raw != nil { in := in.(*Unknown)
in, out := in.Raw, &out.Raw out := out.(*Unknown)
*out = make([]byte, len(in)) out.TypeMeta = in.TypeMeta
copy(*out, in) if in.Raw != nil {
} else { in, out := &in.Raw, &out.Raw
out.Raw = nil *out = make([]byte, len(*in))
copy(*out, *in)
} else {
out.Raw = nil
}
out.ContentEncoding = in.ContentEncoding
out.ContentType = in.ContentType
return nil
} }
out.ContentEncoding = in.ContentEncoding
out.ContentType = in.ContentType
return nil
} }
...@@ -357,9 +357,9 @@ func (s *Scheme) AddDeepCopyFuncs(deepCopyFuncs ...interface{}) error { ...@@ -357,9 +357,9 @@ func (s *Scheme) AddDeepCopyFuncs(deepCopyFuncs ...interface{}) error {
// Similar to AddDeepCopyFuncs, but registers deep-copy functions that were // Similar to AddDeepCopyFuncs, but registers deep-copy functions that were
// automatically generated. // automatically generated.
func (s *Scheme) AddGeneratedDeepCopyFuncs(deepCopyFuncs ...interface{}) error { func (s *Scheme) AddGeneratedDeepCopyFuncs(deepCopyFuncs ...conversion.GeneratedDeepCopyFunc) error {
for _, f := range deepCopyFuncs { for _, fn := range deepCopyFuncs {
if err := s.cloner.RegisterGeneratedDeepCopyFunc(f); err != nil { if err := s.cloner.RegisterGeneratedDeepCopyFunc(fn); err != nil {
return err return err
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment